programming language
Revisión | 865ec76791415e0e3a6da9a42645a01b6db2a3da (tree) |
---|---|
Tiempo | 2023-01-10 23:33:50 |
Autor | dhrname <dhrname@joes...> |
Commiter | dhrname |
Add the Token 'BLOCKEND'
@@ -243,7 +243,7 @@ namespace jstr | ||
243 | 243 | ,{MAIN |
244 | 244 | , COLON |
245 | 245 | , statement_list |
246 | - , LINEEND | |
246 | + , BLOCKEND | |
247 | 247 | , modules_statement} |
248 | 248 | ,{END, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
249 | 249 | ,{-1, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
@@ -273,7 +273,7 @@ namespace jstr | ||
273 | 273 | /*class_body: declaration_list |
274 | 274 | DEFINE |
275 | 275 | arrow_list |
276 | - LINEEND*/ | |
276 | + BLOCKEND*/ | |
277 | 277 | {declaration_list, DEFINE, arrow_list, LINEEND} |
278 | 278 | ,{} |
279 | 279 | ,{} |
@@ -86,6 +86,7 @@ namespace jstr | ||
86 | 86 | , JBEGIN |
87 | 87 | , END |
88 | 88 | , LINEEND |
89 | + , BLOCKEND | |
89 | 90 | , WHILE |
90 | 91 | , DO |
91 | 92 | , FOR |
@@ -51,6 +51,7 @@ namespace jstr | ||
51 | 51 | , JBEGIN |
52 | 52 | , END |
53 | 53 | , LINEEND |
54 | + , BLOCKEND | |
54 | 55 | , WHILE |
55 | 56 | , DO |
56 | 57 | , FOR |
@@ -161,6 +162,7 @@ DIGIT [1-9][0-9]* | ||
161 | 162 | "..." return jstr::parser::token::ARGUMENTETCETRA ; |
162 | 163 | "," return jstr::parser::token::ARGUMENTSEPARATOR ; |
163 | 164 | |
165 | +^";" return jstr::parser::token::BLOCKEND ; | |
164 | 166 | "{" return jstr::parser::token::JBEGIN ; |
165 | 167 | "}" return jstr::parser::token::END ; |
166 | 168 | ";" return jstr::parser::token::LINEEND ; |
@@ -385,8 +385,8 @@ int yyFlexLexer::yywrap() { return 1; } | ||
385 | 385 | /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ |
386 | 386 | (yy_c_buf_p) = yy_cp; |
387 | 387 | /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ |
388 | -#define YY_NUM_RULES 93 | |
389 | -#define YY_END_OF_BUFFER 94 | |
388 | +#define YY_NUM_RULES 94 | |
389 | +#define YY_END_OF_BUFFER 95 | |
390 | 390 | /* This struct is not used in this scanner, |
391 | 391 | but its presence is necessary. */ |
392 | 392 | struct yy_trans_info |
@@ -394,32 +394,32 @@ struct yy_trans_info | ||
394 | 394 | flex_int32_t yy_verify; |
395 | 395 | flex_int32_t yy_nxt; |
396 | 396 | }; |
397 | -static const flex_int16_t yy_accept[219] = | |
397 | +static const flex_int16_t yy_accept[220] = | |
398 | 398 | { 0, |
399 | - 0, 0, 94, 93, 91, 91, 77, 93, 93, 76, | |
400 | - 93, 81, 82, 74, 72, 35, 73, 80, 75, 93, | |
401 | - 87, 51, 38, 66, 54, 67, 83, 86, 86, 86, | |
402 | - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, | |
403 | - 86, 86, 86, 86, 36, 93, 37, 92, 92, 91, | |
404 | - 65, 0, 89, 0, 90, 57, 63, 55, 78, 58, | |
405 | - 79, 59, 0, 88, 56, 0, 0, 87, 70, 68, | |
406 | - 64, 69, 71, 86, 86, 86, 86, 86, 86, 86, | |
407 | - 86, 86, 86, 86, 86, 40, 86, 86, 86, 86, | |
408 | - 86, 86, 86, 86, 86, 42, 86, 19, 86, 86, | |
409 | - | |
410 | - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, | |
411 | - 86, 86, 62, 92, 92, 89, 34, 0, 60, 61, | |
412 | - 15, 86, 9, 10, 11, 12, 86, 86, 86, 29, | |
413 | - 86, 86, 86, 33, 28, 14, 86, 86, 86, 86, | |
414 | - 86, 13, 41, 1, 2, 3, 4, 86, 17, 86, | |
415 | - 23, 16, 86, 86, 86, 86, 86, 5, 6, 7, | |
416 | - 8, 18, 86, 86, 0, 86, 31, 26, 86, 86, | |
417 | - 86, 86, 86, 44, 43, 86, 86, 86, 86, 53, | |
418 | - 86, 86, 86, 24, 27, 86, 86, 88, 46, 22, | |
419 | - 20, 86, 86, 86, 48, 86, 86, 86, 49, 86, | |
420 | - | |
421 | - 86, 86, 39, 88, 86, 25, 32, 85, 84, 52, | |
422 | - 30, 47, 86, 86, 86, 45, 21, 0 | |
399 | + 0, 0, 95, 94, 92, 92, 78, 94, 94, 77, | |
400 | + 94, 82, 83, 75, 73, 35, 74, 81, 76, 94, | |
401 | + 88, 52, 39, 67, 55, 68, 84, 87, 87, 87, | |
402 | + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, | |
403 | + 87, 87, 87, 87, 37, 94, 38, 93, 93, 36, | |
404 | + 92, 66, 0, 90, 0, 91, 58, 64, 56, 79, | |
405 | + 59, 80, 60, 0, 89, 57, 0, 0, 88, 71, | |
406 | + 69, 65, 70, 72, 87, 87, 87, 87, 87, 87, | |
407 | + 87, 87, 87, 87, 87, 87, 41, 87, 87, 87, | |
408 | + 87, 87, 87, 87, 87, 87, 43, 87, 19, 87, | |
409 | + | |
410 | + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, | |
411 | + 87, 87, 87, 63, 93, 93, 90, 34, 0, 61, | |
412 | + 62, 15, 87, 9, 10, 11, 12, 87, 87, 87, | |
413 | + 29, 87, 87, 87, 33, 28, 14, 87, 87, 87, | |
414 | + 87, 87, 13, 42, 1, 2, 3, 4, 87, 17, | |
415 | + 87, 23, 16, 87, 87, 87, 87, 87, 5, 6, | |
416 | + 7, 8, 18, 87, 87, 0, 87, 31, 26, 87, | |
417 | + 87, 87, 87, 87, 45, 44, 87, 87, 87, 87, | |
418 | + 54, 87, 87, 87, 24, 27, 87, 87, 89, 47, | |
419 | + 22, 20, 87, 87, 87, 49, 87, 87, 87, 50, | |
420 | + | |
421 | + 87, 87, 87, 40, 89, 87, 25, 32, 86, 85, | |
422 | + 53, 30, 48, 87, 87, 87, 46, 21, 0 | |
423 | 423 | } ; |
424 | 424 | |
425 | 425 | static const YY_CHAR yy_ec[256] = |
@@ -464,65 +464,65 @@ static const YY_CHAR yy_meta[60] = | ||
464 | 464 | 5, 5, 5, 5, 5, 5, 1, 1, 1 |
465 | 465 | } ; |
466 | 466 | |
467 | -static const flex_int16_t yy_base[225] = | |
467 | +static const flex_int16_t yy_base[226] = | |
468 | 468 | { 0, |
469 | - 0, 58, 286, 287, 287, 282, 255, 277, 279, 252, | |
470 | - 271, 287, 287, 250, 48, 287, 47, 262, 248, 260, | |
471 | - 259, 287, 287, 37, 245, 38, 287, 0, 22, 54, | |
472 | - 42, 30, 37, 72, 239, 238, 233, 235, 220, 230, | |
473 | - 30, 76, 220, 226, 287, 207, 287, 97, 100, 287, | |
474 | - 287, 258, 257, 259, 287, 287, 287, 287, 287, 287, | |
475 | - 287, 287, 245, 71, 287, 102, 244, 243, 229, 287, | |
476 | - 287, 287, 228, 0, 212, 217, 229, 229, 232, 229, | |
477 | - 63, 216, 68, 64, 207, 83, 88, 199, 82, 200, | |
478 | - 197, 220, 220, 223, 220, 0, 193, 0, 195, 198, | |
479 | - | |
480 | - 184, 195, 195, 81, 194, 186, 208, 208, 211, 208, | |
481 | - 92, 188, 287, 110, 135, 137, 287, 127, 287, 287, | |
482 | - 0, 194, 0, 0, 0, 0, 183, 188, 175, 0, | |
483 | - 94, 186, 189, 0, 0, 0, 183, 183, 173, 181, | |
484 | - 180, 0, 0, 0, 0, 0, 0, 170, 0, 170, | |
485 | - 0, 0, 169, 162, 161, 162, 173, 0, 0, 0, | |
486 | - 0, 0, 176, 165, 127, 165, 0, 0, 157, 155, | |
487 | - 164, 153, 167, 0, 0, 153, 153, 164, 150, 0, | |
488 | - 147, 152, 147, 0, 0, 144, 156, 135, 0, 0, | |
489 | - 0, 147, 154, 151, 0, 139, 138, 137, 0, 149, | |
490 | - | |
491 | - 124, 93, 0, 143, 58, 0, 0, 0, 0, 0, | |
492 | - 0, 0, 48, 44, 25, 0, 0, 287, 168, 173, | |
493 | - 176, 178, 180, 181 | |
469 | + 0, 58, 287, 288, 288, 283, 256, 278, 280, 253, | |
470 | + 272, 288, 288, 251, 48, 288, 47, 263, 249, 261, | |
471 | + 260, 288, 288, 37, 246, 38, 288, 0, 22, 54, | |
472 | + 42, 35, 47, 78, 240, 239, 234, 236, 221, 231, | |
473 | + 30, 85, 221, 227, 288, 208, 288, 105, 106, 288, | |
474 | + 288, 288, 259, 258, 260, 288, 288, 288, 288, 288, | |
475 | + 288, 288, 288, 246, 77, 288, 108, 245, 244, 230, | |
476 | + 288, 288, 288, 229, 0, 213, 218, 230, 230, 233, | |
477 | + 230, 37, 217, 68, 69, 208, 89, 94, 200, 88, | |
478 | + 201, 198, 221, 221, 224, 221, 0, 194, 0, 196, | |
479 | + | |
480 | + 199, 185, 196, 196, 68, 195, 187, 209, 209, 212, | |
481 | + 209, 51, 189, 288, 136, 137, 143, 288, 133, 288, | |
482 | + 288, 0, 195, 0, 0, 0, 0, 184, 189, 176, | |
483 | + 0, 71, 187, 190, 0, 0, 0, 184, 184, 174, | |
484 | + 182, 181, 0, 0, 0, 0, 0, 0, 171, 0, | |
485 | + 171, 0, 0, 170, 163, 162, 163, 174, 0, 0, | |
486 | + 0, 0, 0, 177, 166, 131, 166, 0, 0, 158, | |
487 | + 156, 165, 154, 168, 0, 0, 154, 154, 165, 151, | |
488 | + 0, 148, 153, 148, 0, 0, 145, 157, 139, 0, | |
489 | + 0, 0, 148, 155, 152, 0, 140, 123, 96, 0, | |
490 | + | |
491 | + 102, 91, 75, 0, 147, 48, 0, 0, 0, 0, | |
492 | + 0, 0, 0, 38, 36, 25, 0, 0, 288, 172, | |
493 | + 177, 180, 182, 184, 185 | |
494 | 494 | } ; |
495 | 495 | |
496 | -static const flex_int16_t yy_def[225] = | |
496 | +static const flex_int16_t yy_def[226] = | |
497 | 497 | { 0, |
498 | - 218, 1, 218, 218, 218, 218, 218, 219, 220, 218, | |
499 | - 218, 218, 218, 218, 218, 218, 218, 221, 218, 222, | |
500 | - 223, 218, 218, 218, 218, 218, 218, 224, 224, 224, | |
501 | - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, | |
502 | - 224, 224, 224, 224, 218, 218, 218, 218, 219, 218, | |
503 | - 218, 219, 219, 220, 218, 218, 218, 218, 218, 218, | |
504 | - 218, 218, 218, 221, 218, 218, 222, 223, 218, 218, | |
505 | - 218, 218, 218, 224, 224, 224, 224, 224, 224, 224, | |
506 | - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, | |
507 | - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, | |
508 | - | |
509 | - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, | |
510 | - 224, 224, 218, 218, 219, 219, 218, 218, 218, 218, | |
511 | - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, | |
512 | - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, | |
513 | - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, | |
514 | - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, | |
515 | - 224, 224, 224, 224, 218, 224, 224, 224, 224, 224, | |
516 | - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, | |
517 | - 224, 224, 224, 224, 224, 224, 224, 218, 224, 224, | |
518 | - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, | |
519 | - | |
520 | - 224, 224, 224, 218, 224, 224, 224, 224, 224, 224, | |
521 | - 224, 224, 224, 224, 224, 224, 224, 0, 218, 218, | |
522 | - 218, 218, 218, 218 | |
498 | + 219, 1, 219, 219, 219, 219, 219, 220, 221, 219, | |
499 | + 219, 219, 219, 219, 219, 219, 219, 222, 219, 223, | |
500 | + 224, 219, 219, 219, 219, 219, 219, 225, 225, 225, | |
501 | + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, | |
502 | + 225, 225, 225, 225, 219, 219, 219, 219, 220, 219, | |
503 | + 219, 219, 220, 220, 221, 219, 219, 219, 219, 219, | |
504 | + 219, 219, 219, 219, 222, 219, 219, 223, 224, 219, | |
505 | + 219, 219, 219, 219, 225, 225, 225, 225, 225, 225, | |
506 | + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, | |
507 | + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, | |
508 | + | |
509 | + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, | |
510 | + 225, 225, 225, 219, 219, 220, 220, 219, 219, 219, | |
511 | + 219, 225, 225, 225, 225, 225, 225, 225, 225, 225, | |
512 | + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, | |
513 | + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, | |
514 | + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, | |
515 | + 225, 225, 225, 225, 225, 219, 225, 225, 225, 225, | |
516 | + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, | |
517 | + 225, 225, 225, 225, 225, 225, 225, 225, 219, 225, | |
518 | + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, | |
519 | + | |
520 | + 225, 225, 225, 225, 219, 225, 225, 225, 225, 225, | |
521 | + 225, 225, 225, 225, 225, 225, 225, 225, 0, 219, | |
522 | + 219, 219, 219, 219, 219 | |
523 | 523 | } ; |
524 | 524 | |
525 | -static const flex_int16_t yy_nxt[347] = | |
525 | +static const flex_int16_t yy_nxt[348] = | |
526 | 526 | { 0, |
527 | 527 | 4, 4, 5, 6, 7, 8, 9, 10, 11, 12, |
528 | 528 | 13, 14, 15, 16, 17, 18, 19, 20, 21, 21, |
@@ -530,41 +530,41 @@ static const flex_int16_t yy_nxt[347] = | ||
530 | 530 | 27, 28, 28, 28, 29, 30, 31, 32, 33, 28, |
531 | 531 | 34, 28, 28, 35, 36, 37, 38, 39, 40, 28, |
532 | 532 | 41, 42, 43, 44, 28, 28, 45, 46, 47, 48, |
533 | - 59, 61, 217, 49, 69, 70, 72, 73, 75, 105, | |
534 | - 76, 77, 78, 87, 79, 62, 60, 80, 88, 84, | |
535 | - 90, 216, 85, 91, 89, 106, 218, 81, 86, 92, | |
536 | - 93, 215, 94, 107, 108, 95, 109, 82, 114, 110, | |
537 | - | |
538 | - 83, 115, 114, 118, 130, 116, 127, 132, 118, 214, | |
539 | - 96, 114, 128, 131, 133, 114, 97, 140, 98, 64, | |
540 | - 64, 64, 64, 64, 64, 64, 64, 135, 137, 141, | |
541 | - 154, 155, 162, 213, 136, 163, 115, 138, 115, 165, | |
542 | - 116, 165, 116, 170, 171, 188, 188, 188, 188, 188, | |
543 | - 188, 188, 204, 204, 204, 204, 204, 204, 204, 204, | |
544 | - 204, 204, 204, 204, 204, 204, 204, 204, 52, 212, | |
545 | - 52, 52, 52, 54, 54, 54, 54, 54, 64, 64, | |
546 | - 67, 67, 68, 68, 74, 74, 211, 210, 209, 208, | |
547 | - 207, 206, 205, 203, 202, 201, 200, 199, 198, 197, | |
548 | - | |
549 | - 196, 195, 194, 193, 192, 191, 190, 189, 187, 186, | |
550 | - 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, | |
551 | - 175, 174, 173, 172, 169, 168, 167, 166, 164, 161, | |
552 | - 160, 159, 158, 157, 156, 153, 152, 151, 150, 149, | |
553 | - 148, 147, 146, 145, 144, 143, 142, 139, 134, 129, | |
554 | - 126, 125, 124, 123, 122, 121, 120, 119, 66, 66, | |
555 | - 117, 55, 53, 53, 113, 112, 111, 104, 103, 102, | |
556 | - 101, 100, 99, 71, 66, 66, 65, 63, 58, 57, | |
557 | - 56, 55, 53, 51, 50, 218, 3, 218, 218, 218, | |
558 | - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, | |
559 | - | |
560 | - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, | |
561 | - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, | |
562 | - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, | |
563 | - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, | |
564 | - 218, 218, 218, 218, 218, 218 | |
533 | + 60, 62, 218, 49, 70, 71, 73, 74, 76, 106, | |
534 | + 77, 78, 79, 217, 80, 63, 61, 81, 88, 85, | |
535 | + 128, 216, 86, 89, 50, 107, 129, 82, 87, 90, | |
536 | + 91, 163, 219, 92, 164, 93, 94, 83, 95, 215, | |
537 | + | |
538 | + 84, 96, 108, 109, 131, 110, 115, 116, 111, 119, | |
539 | + 115, 117, 133, 132, 119, 214, 97, 155, 156, 134, | |
540 | + 171, 172, 98, 141, 99, 65, 65, 65, 65, 65, | |
541 | + 65, 65, 65, 136, 138, 142, 213, 115, 116, 212, | |
542 | + 137, 115, 117, 139, 116, 166, 211, 166, 117, 189, | |
543 | + 189, 189, 189, 189, 189, 189, 205, 205, 205, 205, | |
544 | + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, | |
545 | + 205, 205, 53, 210, 53, 53, 53, 55, 55, 55, | |
546 | + 55, 55, 65, 65, 68, 68, 69, 69, 75, 75, | |
547 | + 209, 208, 207, 206, 204, 203, 202, 201, 200, 199, | |
548 | + | |
549 | + 198, 197, 196, 195, 194, 193, 192, 191, 190, 188, | |
550 | + 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, | |
551 | + 177, 176, 175, 174, 173, 170, 169, 168, 167, 165, | |
552 | + 162, 161, 160, 159, 158, 157, 154, 153, 152, 151, | |
553 | + 150, 149, 148, 147, 146, 145, 144, 143, 140, 135, | |
554 | + 130, 127, 126, 125, 124, 123, 122, 121, 120, 67, | |
555 | + 67, 118, 56, 54, 54, 114, 113, 112, 105, 104, | |
556 | + 103, 102, 101, 100, 72, 67, 67, 66, 64, 59, | |
557 | + 58, 57, 56, 54, 52, 51, 219, 3, 219, 219, | |
558 | + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, | |
559 | + | |
560 | + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, | |
561 | + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, | |
562 | + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, | |
563 | + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, | |
564 | + 219, 219, 219, 219, 219, 219, 219 | |
565 | 565 | } ; |
566 | 566 | |
567 | -static const flex_int16_t yy_chk[347] = | |
567 | +static const flex_int16_t yy_chk[348] = | |
568 | 568 | { 0, |
569 | 569 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
570 | 570 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
@@ -572,52 +572,52 @@ static const flex_int16_t yy_chk[347] = | ||
572 | 572 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
573 | 573 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
574 | 574 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, |
575 | - 15, 17, 215, 2, 24, 24, 26, 26, 29, 41, | |
576 | - 29, 30, 30, 32, 30, 17, 15, 30, 32, 31, | |
577 | - 33, 214, 31, 33, 32, 41, 64, 30, 31, 34, | |
578 | - 34, 213, 34, 42, 42, 34, 42, 30, 48, 42, | |
579 | - | |
580 | - 30, 49, 48, 64, 83, 49, 81, 84, 64, 205, | |
581 | - 34, 114, 81, 83, 84, 114, 34, 89, 34, 66, | |
582 | - 66, 66, 66, 66, 66, 66, 66, 86, 87, 89, | |
583 | - 104, 104, 111, 202, 86, 111, 115, 87, 116, 118, | |
584 | - 115, 118, 116, 131, 131, 165, 165, 165, 165, 165, | |
585 | - 165, 165, 188, 188, 188, 188, 188, 188, 188, 188, | |
586 | - 204, 204, 204, 204, 204, 204, 204, 204, 219, 201, | |
587 | - 219, 219, 219, 220, 220, 220, 220, 220, 221, 221, | |
588 | - 222, 222, 223, 223, 224, 224, 200, 198, 197, 196, | |
589 | - 194, 193, 192, 187, 186, 183, 182, 181, 179, 178, | |
590 | - | |
591 | - 177, 176, 173, 172, 171, 170, 169, 166, 164, 163, | |
592 | - 157, 156, 155, 154, 153, 150, 148, 141, 140, 139, | |
593 | - 138, 137, 133, 132, 129, 128, 127, 122, 112, 110, | |
594 | - 109, 108, 107, 106, 105, 103, 102, 101, 100, 99, | |
595 | - 97, 95, 94, 93, 92, 91, 90, 88, 85, 82, | |
596 | - 80, 79, 78, 77, 76, 75, 73, 69, 68, 67, | |
597 | - 63, 54, 53, 52, 46, 44, 43, 40, 39, 38, | |
598 | - 37, 36, 35, 25, 21, 20, 19, 18, 14, 11, | |
599 | - 10, 9, 8, 7, 6, 3, 218, 218, 218, 218, | |
600 | - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, | |
601 | - | |
602 | - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, | |
603 | - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, | |
604 | - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, | |
605 | - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, | |
606 | - 218, 218, 218, 218, 218, 218 | |
575 | + 15, 17, 216, 2, 24, 24, 26, 26, 29, 41, | |
576 | + 29, 30, 30, 215, 30, 17, 15, 30, 32, 31, | |
577 | + 82, 214, 31, 32, 2, 41, 82, 30, 31, 32, | |
578 | + 33, 112, 65, 33, 112, 34, 34, 30, 34, 206, | |
579 | + | |
580 | + 30, 34, 42, 42, 84, 42, 48, 49, 42, 65, | |
581 | + 48, 49, 85, 84, 65, 203, 34, 105, 105, 85, | |
582 | + 132, 132, 34, 90, 34, 67, 67, 67, 67, 67, | |
583 | + 67, 67, 67, 87, 88, 90, 202, 115, 116, 201, | |
584 | + 87, 115, 116, 88, 117, 119, 199, 119, 117, 166, | |
585 | + 166, 166, 166, 166, 166, 166, 189, 189, 189, 189, | |
586 | + 189, 189, 189, 189, 205, 205, 205, 205, 205, 205, | |
587 | + 205, 205, 220, 198, 220, 220, 220, 221, 221, 221, | |
588 | + 221, 221, 222, 222, 223, 223, 224, 224, 225, 225, | |
589 | + 197, 195, 194, 193, 188, 187, 184, 183, 182, 180, | |
590 | + | |
591 | + 179, 178, 177, 174, 173, 172, 171, 170, 167, 165, | |
592 | + 164, 158, 157, 156, 155, 154, 151, 149, 142, 141, | |
593 | + 140, 139, 138, 134, 133, 130, 129, 128, 123, 113, | |
594 | + 111, 110, 109, 108, 107, 106, 104, 103, 102, 101, | |
595 | + 100, 98, 96, 95, 94, 93, 92, 91, 89, 86, | |
596 | + 83, 81, 80, 79, 78, 77, 76, 74, 70, 69, | |
597 | + 68, 64, 55, 54, 53, 46, 44, 43, 40, 39, | |
598 | + 38, 37, 36, 35, 25, 21, 20, 19, 18, 14, | |
599 | + 11, 10, 9, 8, 7, 6, 3, 219, 219, 219, | |
600 | + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, | |
601 | + | |
602 | + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, | |
603 | + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, | |
604 | + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, | |
605 | + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, | |
606 | + 219, 219, 219, 219, 219, 219, 219 | |
607 | 607 | } ; |
608 | 608 | |
609 | -static const flex_int16_t yy_rule_linenum[93] = | |
609 | +static const flex_int16_t yy_rule_linenum[94] = | |
610 | 610 | { 0, |
611 | - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, | |
612 | - 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, | |
613 | - 146, 148, 149, 150, 151, 153, 154, 155, 156, 157, | |
614 | - 158, 159, 160, 161, 162, 164, 165, 166, 167, 168, | |
615 | - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, | |
616 | - 179, 181, 182, 184, 185, 186, 187, 188, 189, 190, | |
617 | - 191, 193, 194, 195, 196, 197, 198, 199, 200, 201, | |
618 | - 202, 204, 205, 206, 207, 208, 209, 210, 211, 213, | |
619 | - 214, 215, 216, 217, 218, 221, 222, 223, 224, 226, | |
620 | - 227, 228 | |
611 | + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, | |
612 | + 136, 137, 138, 139, 140, 141, 142, 143, 144, 146, | |
613 | + 147, 149, 150, 151, 152, 154, 155, 156, 157, 158, | |
614 | + 159, 160, 161, 162, 163, 165, 166, 167, 168, 169, | |
615 | + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, | |
616 | + 180, 181, 183, 184, 186, 187, 188, 189, 190, 191, | |
617 | + 192, 193, 195, 196, 197, 198, 199, 200, 201, 202, | |
618 | + 203, 204, 206, 207, 208, 209, 210, 211, 212, 213, | |
619 | + 215, 216, 217, 218, 219, 220, 223, 224, 225, 226, | |
620 | + 228, 229, 230 | |
621 | 621 | |
622 | 622 | } ; |
623 | 623 |
@@ -682,6 +682,7 @@ namespace jstr | ||
682 | 682 | , JBEGIN |
683 | 683 | , END |
684 | 684 | , LINEEND |
685 | + , BLOCKEND | |
685 | 686 | , WHILE |
686 | 687 | , DO |
687 | 688 | , FOR |
@@ -743,9 +744,9 @@ namespace jstr | ||
743 | 744 | } |
744 | 745 | } |
745 | 746 | |
746 | -#line 746 "lex.yy.cc" | |
747 | +#line 747 "lex.yy.cc" | |
747 | 748 | #define YY_NO_INPUT 1 |
748 | -#line 748 "lex.yy.cc" | |
749 | +#line 749 "lex.yy.cc" | |
749 | 750 | |
750 | 751 | #define INITIAL 0 |
751 | 752 |
@@ -940,10 +941,10 @@ YY_DECL | ||
940 | 941 | |
941 | 942 | { |
942 | 943 | /* %% [7.0] user's declarations go here */ |
943 | -#line 123 "lex.l" | |
944 | +#line 124 "lex.l" | |
944 | 945 | |
945 | 946 | |
946 | -#line 946 "lex.yy.cc" | |
947 | +#line 947 "lex.yy.cc" | |
947 | 948 | |
948 | 949 | while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ |
949 | 950 | { |
@@ -973,13 +974,13 @@ yy_match: | ||
973 | 974 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
974 | 975 | { |
975 | 976 | yy_current_state = (int) yy_def[yy_current_state]; |
976 | - if ( yy_current_state >= 219 ) | |
977 | + if ( yy_current_state >= 220 ) | |
977 | 978 | yy_c = yy_meta[yy_c]; |
978 | 979 | } |
979 | 980 | yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; |
980 | 981 | ++yy_cp; |
981 | 982 | } |
982 | - while ( yy_current_state != 218 ); | |
983 | + while ( yy_current_state != 219 ); | |
983 | 984 | yy_cp = (yy_last_accepting_cpos); |
984 | 985 | yy_current_state = (yy_last_accepting_state); |
985 | 986 |
@@ -998,12 +999,12 @@ do_action: /* This label is used only to access EOF actions. */ | ||
998 | 999 | { |
999 | 1000 | if ( yy_act == 0 ) |
1000 | 1001 | std::cerr << "--scanner backing up\n"; |
1001 | - else if ( yy_act < 93 ) | |
1002 | + else if ( yy_act < 94 ) | |
1002 | 1003 | std::cerr << "--accepting rule at line " << yy_rule_linenum[yy_act] << |
1003 | 1004 | "(\"" << yytext << "\")\n"; |
1004 | - else if ( yy_act == 93 ) | |
1005 | - std::cerr << "--accepting default rule (\"" << yytext << "\")\n"; | |
1006 | 1005 | else if ( yy_act == 94 ) |
1006 | + std::cerr << "--accepting default rule (\"" << yytext << "\")\n"; | |
1007 | + else if ( yy_act == 95 ) | |
1007 | 1008 | std::cerr << "--(end of buffer or a NUL)\n"; |
1008 | 1009 | else |
1009 | 1010 | std::cerr << "--EOF (start condition " << YY_START << ")\n"; |
@@ -1021,472 +1022,477 @@ do_action: /* This label is used only to access EOF actions. */ | ||
1021 | 1022 | |
1022 | 1023 | case 1: |
1023 | 1024 | YY_RULE_SETUP |
1024 | -#line 125 "lex.l" | |
1025 | +#line 126 "lex.l" | |
1025 | 1026 | return jstr::parser::token::INTEGER8 ; |
1026 | 1027 | YY_BREAK |
1027 | 1028 | case 2: |
1028 | 1029 | YY_RULE_SETUP |
1029 | -#line 126 "lex.l" | |
1030 | +#line 127 "lex.l" | |
1030 | 1031 | return jstr::parser::token::INTEGER16 ; |
1031 | 1032 | YY_BREAK |
1032 | 1033 | case 3: |
1033 | 1034 | YY_RULE_SETUP |
1034 | -#line 127 "lex.l" | |
1035 | +#line 128 "lex.l" | |
1035 | 1036 | return jstr::parser::token::INTEGER32 ; |
1036 | 1037 | YY_BREAK |
1037 | 1038 | case 4: |
1038 | 1039 | YY_RULE_SETUP |
1039 | -#line 128 "lex.l" | |
1040 | +#line 129 "lex.l" | |
1040 | 1041 | return jstr::parser::token::INTEGER64 ; |
1041 | 1042 | YY_BREAK |
1042 | 1043 | case 5: |
1043 | 1044 | YY_RULE_SETUP |
1044 | -#line 129 "lex.l" | |
1045 | +#line 130 "lex.l" | |
1045 | 1046 | return jstr::parser::token::UINTEGER8 ; |
1046 | 1047 | YY_BREAK |
1047 | 1048 | case 6: |
1048 | 1049 | YY_RULE_SETUP |
1049 | -#line 130 "lex.l" | |
1050 | +#line 131 "lex.l" | |
1050 | 1051 | return jstr::parser::token::UINTEGER16 ; |
1051 | 1052 | YY_BREAK |
1052 | 1053 | case 7: |
1053 | 1054 | YY_RULE_SETUP |
1054 | -#line 131 "lex.l" | |
1055 | +#line 132 "lex.l" | |
1055 | 1056 | return jstr::parser::token::UINTEGER32 ; |
1056 | 1057 | YY_BREAK |
1057 | 1058 | case 8: |
1058 | 1059 | YY_RULE_SETUP |
1059 | -#line 132 "lex.l" | |
1060 | +#line 133 "lex.l" | |
1060 | 1061 | return jstr::parser::token::UINTEGER64 ; |
1061 | 1062 | YY_BREAK |
1062 | 1063 | case 9: |
1063 | 1064 | YY_RULE_SETUP |
1064 | -#line 133 "lex.l" | |
1065 | +#line 134 "lex.l" | |
1065 | 1066 | return jstr::parser::token::CHARACTER8 ; |
1066 | 1067 | YY_BREAK |
1067 | 1068 | case 10: |
1068 | 1069 | YY_RULE_SETUP |
1069 | -#line 134 "lex.l" | |
1070 | +#line 135 "lex.l" | |
1070 | 1071 | return jstr::parser::token::CHARACTER16 ; |
1071 | 1072 | YY_BREAK |
1072 | 1073 | case 11: |
1073 | 1074 | YY_RULE_SETUP |
1074 | -#line 135 "lex.l" | |
1075 | +#line 136 "lex.l" | |
1075 | 1076 | return jstr::parser::token::CHARACTER32 ; |
1076 | 1077 | YY_BREAK |
1077 | 1078 | case 12: |
1078 | 1079 | YY_RULE_SETUP |
1079 | -#line 136 "lex.l" | |
1080 | +#line 137 "lex.l" | |
1080 | 1081 | return jstr::parser::token::CHARACTER64 ; |
1081 | 1082 | YY_BREAK |
1082 | 1083 | case 13: |
1083 | 1084 | YY_RULE_SETUP |
1084 | -#line 137 "lex.l" | |
1085 | +#line 138 "lex.l" | |
1085 | 1086 | return jstr::parser::token::FLOAT ; |
1086 | 1087 | YY_BREAK |
1087 | 1088 | case 14: |
1088 | 1089 | YY_RULE_SETUP |
1089 | -#line 138 "lex.l" | |
1090 | +#line 139 "lex.l" | |
1090 | 1091 | return jstr::parser::token::DOUBLE ; |
1091 | 1092 | YY_BREAK |
1092 | 1093 | case 15: |
1093 | 1094 | YY_RULE_SETUP |
1094 | -#line 139 "lex.l" | |
1095 | +#line 140 "lex.l" | |
1095 | 1096 | return jstr::parser::token::BOOLEAN ; |
1096 | 1097 | YY_BREAK |
1097 | 1098 | case 16: |
1098 | 1099 | YY_RULE_SETUP |
1099 | -#line 140 "lex.l" | |
1100 | +#line 141 "lex.l" | |
1100 | 1101 | return jstr::parser::token::OBJECT ; |
1101 | 1102 | YY_BREAK |
1102 | 1103 | case 17: |
1103 | 1104 | YY_RULE_SETUP |
1104 | -#line 141 "lex.l" | |
1105 | +#line 142 "lex.l" | |
1105 | 1106 | return jstr::parser::token::LAMBDA ; |
1106 | 1107 | YY_BREAK |
1107 | 1108 | case 18: |
1108 | 1109 | YY_RULE_SETUP |
1109 | -#line 142 "lex.l" | |
1110 | +#line 143 "lex.l" | |
1110 | 1111 | return jstr::parser::token::VOID ; |
1111 | 1112 | YY_BREAK |
1112 | 1113 | case 19: |
1113 | 1114 | YY_RULE_SETUP |
1114 | -#line 143 "lex.l" | |
1115 | +#line 144 "lex.l" | |
1115 | 1116 | return jstr::parser::token::INOUT ; |
1116 | 1117 | YY_BREAK |
1117 | 1118 | case 20: |
1118 | 1119 | YY_RULE_SETUP |
1119 | -#line 145 "lex.l" | |
1120 | +#line 146 "lex.l" | |
1120 | 1121 | return jstr::parser::token::CONST ; |
1121 | 1122 | YY_BREAK |
1122 | 1123 | case 21: |
1123 | 1124 | YY_RULE_SETUP |
1124 | -#line 146 "lex.l" | |
1125 | +#line 147 "lex.l" | |
1125 | 1126 | return jstr::parser::token::VOLATILE ; |
1126 | 1127 | YY_BREAK |
1127 | 1128 | case 22: |
1128 | 1129 | YY_RULE_SETUP |
1129 | -#line 148 "lex.l" | |
1130 | +#line 149 "lex.l" | |
1130 | 1131 | return jstr::parser::token::CLASS ; |
1131 | 1132 | YY_BREAK |
1132 | 1133 | case 23: |
1133 | 1134 | YY_RULE_SETUP |
1134 | -#line 149 "lex.l" | |
1135 | +#line 150 "lex.l" | |
1135 | 1136 | return jstr::parser::token::NEW ; |
1136 | 1137 | YY_BREAK |
1137 | 1138 | case 24: |
1138 | 1139 | YY_RULE_SETUP |
1139 | -#line 150 "lex.l" | |
1140 | +#line 151 "lex.l" | |
1140 | 1141 | return jstr::parser::token::THIS ; |
1141 | 1142 | YY_BREAK |
1142 | 1143 | case 25: |
1143 | 1144 | YY_RULE_SETUP |
1144 | -#line 151 "lex.l" | |
1145 | +#line 152 "lex.l" | |
1145 | 1146 | return jstr::parser::token::DELETE ; |
1146 | 1147 | YY_BREAK |
1147 | 1148 | case 26: |
1148 | 1149 | YY_RULE_SETUP |
1149 | -#line 153 "lex.l" | |
1150 | +#line 154 "lex.l" | |
1150 | 1151 | return jstr::parser::token::CASE ; |
1151 | 1152 | YY_BREAK |
1152 | 1153 | case 27: |
1153 | 1154 | YY_RULE_SETUP |
1154 | -#line 154 "lex.l" | |
1155 | +#line 155 "lex.l" | |
1155 | 1156 | return jstr::parser::token::TYPE ; |
1156 | 1157 | YY_BREAK |
1157 | 1158 | case 28: |
1158 | 1159 | YY_RULE_SETUP |
1159 | -#line 155 "lex.l" | |
1160 | +#line 156 "lex.l" | |
1160 | 1161 | return jstr::parser::token::JDOMAIN ; |
1161 | 1162 | YY_BREAK |
1162 | 1163 | case 29: |
1163 | 1164 | YY_RULE_SETUP |
1164 | -#line 156 "lex.l" | |
1165 | +#line 157 "lex.l" | |
1165 | 1166 | return jstr::parser::token::CODOMAIN ; |
1166 | 1167 | YY_BREAK |
1167 | 1168 | case 30: |
1168 | 1169 | YY_RULE_SETUP |
1169 | -#line 157 "lex.l" | |
1170 | +#line 158 "lex.l" | |
1170 | 1171 | return jstr::parser::token::RESUME ; |
1171 | 1172 | YY_BREAK |
1172 | 1173 | case 31: |
1173 | 1174 | YY_RULE_SETUP |
1174 | -#line 158 "lex.l" | |
1175 | +#line 159 "lex.l" | |
1175 | 1176 | return jstr::parser::token::CALL ; |
1176 | 1177 | YY_BREAK |
1177 | 1178 | case 32: |
1178 | 1179 | YY_RULE_SETUP |
1179 | -#line 159 "lex.l" | |
1180 | +#line 160 "lex.l" | |
1180 | 1181 | return jstr::parser::token::DETACH ; |
1181 | 1182 | YY_BREAK |
1182 | 1183 | case 33: |
1183 | 1184 | YY_RULE_SETUP |
1184 | -#line 160 "lex.l" | |
1185 | +#line 161 "lex.l" | |
1185 | 1186 | return jstr::parser::token::DIJKSTRA ; |
1186 | 1187 | YY_BREAK |
1187 | 1188 | case 34: |
1188 | 1189 | YY_RULE_SETUP |
1189 | -#line 161 "lex.l" | |
1190 | +#line 162 "lex.l" | |
1190 | 1191 | return jstr::parser::token::ARGUMENTETCETRA ; |
1191 | 1192 | YY_BREAK |
1192 | 1193 | case 35: |
1193 | 1194 | YY_RULE_SETUP |
1194 | -#line 162 "lex.l" | |
1195 | +#line 163 "lex.l" | |
1195 | 1196 | return jstr::parser::token::ARGUMENTSEPARATOR ; |
1196 | 1197 | YY_BREAK |
1197 | 1198 | case 36: |
1198 | 1199 | YY_RULE_SETUP |
1199 | -#line 164 "lex.l" | |
1200 | -return jstr::parser::token::JBEGIN ; | |
1200 | +#line 165 "lex.l" | |
1201 | +return jstr::parser::token::BLOCKEND ; | |
1201 | 1202 | YY_BREAK |
1202 | 1203 | case 37: |
1203 | 1204 | YY_RULE_SETUP |
1204 | -#line 165 "lex.l" | |
1205 | -return jstr::parser::token::END ; | |
1205 | +#line 166 "lex.l" | |
1206 | +return jstr::parser::token::JBEGIN ; | |
1206 | 1207 | YY_BREAK |
1207 | 1208 | case 38: |
1208 | 1209 | YY_RULE_SETUP |
1209 | -#line 166 "lex.l" | |
1210 | -return jstr::parser::token::LINEEND ; | |
1210 | +#line 167 "lex.l" | |
1211 | +return jstr::parser::token::END ; | |
1211 | 1212 | YY_BREAK |
1212 | 1213 | case 39: |
1213 | 1214 | YY_RULE_SETUP |
1214 | -#line 167 "lex.l" | |
1215 | -return jstr::parser::token::WHILE ; | |
1215 | +#line 168 "lex.l" | |
1216 | +return jstr::parser::token::LINEEND ; | |
1216 | 1217 | YY_BREAK |
1217 | 1218 | case 40: |
1218 | 1219 | YY_RULE_SETUP |
1219 | -#line 168 "lex.l" | |
1220 | -return jstr::parser::token::DO ; | |
1220 | +#line 169 "lex.l" | |
1221 | +return jstr::parser::token::WHILE ; | |
1221 | 1222 | YY_BREAK |
1222 | 1223 | case 41: |
1223 | 1224 | YY_RULE_SETUP |
1224 | -#line 169 "lex.l" | |
1225 | -return jstr::parser::token::FOR ; | |
1225 | +#line 170 "lex.l" | |
1226 | +return jstr::parser::token::DO ; | |
1226 | 1227 | YY_BREAK |
1227 | 1228 | case 42: |
1228 | 1229 | YY_RULE_SETUP |
1229 | -#line 170 "lex.l" | |
1230 | -return jstr::parser::token::IF ; | |
1230 | +#line 171 "lex.l" | |
1231 | +return jstr::parser::token::FOR ; | |
1231 | 1232 | YY_BREAK |
1232 | 1233 | case 43: |
1233 | 1234 | YY_RULE_SETUP |
1234 | -#line 171 "lex.l" | |
1235 | -return jstr::parser::token::ELSE ; | |
1235 | +#line 172 "lex.l" | |
1236 | +return jstr::parser::token::IF ; | |
1236 | 1237 | YY_BREAK |
1237 | 1238 | case 44: |
1238 | 1239 | YY_RULE_SETUP |
1239 | -#line 172 "lex.l" | |
1240 | -return jstr::parser::token::ELSEIF ; | |
1240 | +#line 173 "lex.l" | |
1241 | +return jstr::parser::token::ELSE ; | |
1241 | 1242 | YY_BREAK |
1242 | 1243 | case 45: |
1243 | 1244 | YY_RULE_SETUP |
1244 | -#line 173 "lex.l" | |
1245 | -return jstr::parser::token::CONTINUE ; | |
1245 | +#line 174 "lex.l" | |
1246 | +return jstr::parser::token::ELSEIF ; | |
1246 | 1247 | YY_BREAK |
1247 | 1248 | case 46: |
1248 | 1249 | YY_RULE_SETUP |
1249 | -#line 174 "lex.l" | |
1250 | -return jstr::parser::token::BREAK ; | |
1250 | +#line 175 "lex.l" | |
1251 | +return jstr::parser::token::CONTINUE ; | |
1251 | 1252 | YY_BREAK |
1252 | 1253 | case 47: |
1253 | 1254 | YY_RULE_SETUP |
1254 | -#line 175 "lex.l" | |
1255 | -return jstr::parser::token::RETURN ; | |
1255 | +#line 176 "lex.l" | |
1256 | +return jstr::parser::token::BREAK ; | |
1256 | 1257 | YY_BREAK |
1257 | 1258 | case 48: |
1258 | 1259 | YY_RULE_SETUP |
1259 | -#line 176 "lex.l" | |
1260 | -return jstr::parser::token::JERROR ; | |
1260 | +#line 177 "lex.l" | |
1261 | +return jstr::parser::token::RETURN ; | |
1261 | 1262 | YY_BREAK |
1262 | 1263 | case 49: |
1263 | 1264 | YY_RULE_SETUP |
1264 | -#line 177 "lex.l" | |
1265 | -return jstr::parser::token::PRINT ; | |
1265 | +#line 178 "lex.l" | |
1266 | +return jstr::parser::token::JERROR ; | |
1266 | 1267 | YY_BREAK |
1267 | 1268 | case 50: |
1268 | 1269 | YY_RULE_SETUP |
1269 | -#line 178 "lex.l" | |
1270 | -return jstr::parser::token::DEFINE ; | |
1270 | +#line 179 "lex.l" | |
1271 | +return jstr::parser::token::PRINT ; | |
1271 | 1272 | YY_BREAK |
1272 | 1273 | case 51: |
1273 | 1274 | YY_RULE_SETUP |
1274 | -#line 179 "lex.l" | |
1275 | -return jstr::parser::token::COLON ; | |
1275 | +#line 180 "lex.l" | |
1276 | +return jstr::parser::token::DEFINE ; | |
1276 | 1277 | YY_BREAK |
1277 | 1278 | case 52: |
1278 | 1279 | YY_RULE_SETUP |
1279 | 1280 | #line 181 "lex.l" |
1280 | -return jstr::parser::token::INCLUDE ; | |
1281 | +return jstr::parser::token::COLON ; | |
1281 | 1282 | YY_BREAK |
1282 | 1283 | case 53: |
1283 | 1284 | YY_RULE_SETUP |
1284 | -#line 182 "lex.l" | |
1285 | -return jstr::parser::token::MAIN ; | |
1285 | +#line 183 "lex.l" | |
1286 | +return jstr::parser::token::INCLUDE ; | |
1286 | 1287 | YY_BREAK |
1287 | 1288 | case 54: |
1288 | 1289 | YY_RULE_SETUP |
1289 | 1290 | #line 184 "lex.l" |
1290 | -return jstr::parser::token::ASSIGN ; | |
1291 | +return jstr::parser::token::MAIN ; | |
1291 | 1292 | YY_BREAK |
1292 | 1293 | case 55: |
1293 | 1294 | YY_RULE_SETUP |
1294 | -#line 185 "lex.l" | |
1295 | -return jstr::parser::token::ASSIGNMUL ; | |
1295 | +#line 186 "lex.l" | |
1296 | +return jstr::parser::token::ASSIGN ; | |
1296 | 1297 | YY_BREAK |
1297 | 1298 | case 56: |
1298 | 1299 | YY_RULE_SETUP |
1299 | -#line 186 "lex.l" | |
1300 | -return jstr::parser::token::ASSIGNDIV ; | |
1300 | +#line 187 "lex.l" | |
1301 | +return jstr::parser::token::ASSIGNMUL ; | |
1301 | 1302 | YY_BREAK |
1302 | 1303 | case 57: |
1303 | 1304 | YY_RULE_SETUP |
1304 | -#line 187 "lex.l" | |
1305 | -return jstr::parser::token::ASSIGNREMAINDER ; | |
1305 | +#line 188 "lex.l" | |
1306 | +return jstr::parser::token::ASSIGNDIV ; | |
1306 | 1307 | YY_BREAK |
1307 | 1308 | case 58: |
1308 | 1309 | YY_RULE_SETUP |
1309 | -#line 188 "lex.l" | |
1310 | -return jstr::parser::token::ASSIGNADD ; | |
1310 | +#line 189 "lex.l" | |
1311 | +return jstr::parser::token::ASSIGNREMAINDER ; | |
1311 | 1312 | YY_BREAK |
1312 | 1313 | case 59: |
1313 | 1314 | YY_RULE_SETUP |
1314 | -#line 189 "lex.l" | |
1315 | -return jstr::parser::token::ASSIGNSUB ; | |
1315 | +#line 190 "lex.l" | |
1316 | +return jstr::parser::token::ASSIGNADD ; | |
1316 | 1317 | YY_BREAK |
1317 | 1318 | case 60: |
1318 | 1319 | YY_RULE_SETUP |
1319 | -#line 190 "lex.l" | |
1320 | -return jstr::parser::token::ASSIGNSHIFTLEFT ; | |
1320 | +#line 191 "lex.l" | |
1321 | +return jstr::parser::token::ASSIGNSUB ; | |
1321 | 1322 | YY_BREAK |
1322 | 1323 | case 61: |
1323 | 1324 | YY_RULE_SETUP |
1324 | -#line 191 "lex.l" | |
1325 | -return jstr::parser::token::ASSIGNSHIFTRIGHT ; | |
1325 | +#line 192 "lex.l" | |
1326 | +return jstr::parser::token::ASSIGNSHIFTLEFT ; | |
1326 | 1327 | YY_BREAK |
1327 | 1328 | case 62: |
1328 | 1329 | YY_RULE_SETUP |
1329 | 1330 | #line 193 "lex.l" |
1330 | -return jstr::parser::token::OR ; | |
1331 | +return jstr::parser::token::ASSIGNSHIFTRIGHT ; | |
1331 | 1332 | YY_BREAK |
1332 | 1333 | case 63: |
1333 | 1334 | YY_RULE_SETUP |
1334 | -#line 194 "lex.l" | |
1335 | -return jstr::parser::token::AND ; | |
1335 | +#line 195 "lex.l" | |
1336 | +return jstr::parser::token::OR ; | |
1336 | 1337 | YY_BREAK |
1337 | 1338 | case 64: |
1338 | 1339 | YY_RULE_SETUP |
1339 | -#line 195 "lex.l" | |
1340 | -return jstr::parser::token::EQUALITY ; | |
1340 | +#line 196 "lex.l" | |
1341 | +return jstr::parser::token::AND ; | |
1341 | 1342 | YY_BREAK |
1342 | 1343 | case 65: |
1343 | 1344 | YY_RULE_SETUP |
1344 | -#line 196 "lex.l" | |
1345 | -return jstr::parser::token::NOTEQUALITY ; | |
1345 | +#line 197 "lex.l" | |
1346 | +return jstr::parser::token::EQUALITY ; | |
1346 | 1347 | YY_BREAK |
1347 | 1348 | case 66: |
1348 | 1349 | YY_RULE_SETUP |
1349 | -#line 197 "lex.l" | |
1350 | -return jstr::parser::token::RATIONALLEFT ; | |
1350 | +#line 198 "lex.l" | |
1351 | +return jstr::parser::token::NOTEQUALITY ; | |
1351 | 1352 | YY_BREAK |
1352 | 1353 | case 67: |
1353 | 1354 | YY_RULE_SETUP |
1354 | -#line 198 "lex.l" | |
1355 | -return jstr::parser::token::RATIONALRIGHT ; | |
1355 | +#line 199 "lex.l" | |
1356 | +return jstr::parser::token::RATIONALLEFT ; | |
1356 | 1357 | YY_BREAK |
1357 | 1358 | case 68: |
1358 | 1359 | YY_RULE_SETUP |
1359 | -#line 199 "lex.l" | |
1360 | -return jstr::parser::token::RATIONALLEFTEQUAL ; | |
1360 | +#line 200 "lex.l" | |
1361 | +return jstr::parser::token::RATIONALRIGHT ; | |
1361 | 1362 | YY_BREAK |
1362 | 1363 | case 69: |
1363 | 1364 | YY_RULE_SETUP |
1364 | -#line 200 "lex.l" | |
1365 | -return jstr::parser::token::RATIONALRIGHTEQUAL ; | |
1365 | +#line 201 "lex.l" | |
1366 | +return jstr::parser::token::RATIONALLEFTEQUAL ; | |
1366 | 1367 | YY_BREAK |
1367 | 1368 | case 70: |
1368 | 1369 | YY_RULE_SETUP |
1369 | -#line 201 "lex.l" | |
1370 | -return jstr::parser::token::SHIFTLEFT ; | |
1370 | +#line 202 "lex.l" | |
1371 | +return jstr::parser::token::RATIONALRIGHTEQUAL ; | |
1371 | 1372 | YY_BREAK |
1372 | 1373 | case 71: |
1373 | 1374 | YY_RULE_SETUP |
1374 | -#line 202 "lex.l" | |
1375 | -return jstr::parser::token::SHIFTRIGHT ; | |
1375 | +#line 203 "lex.l" | |
1376 | +return jstr::parser::token::SHIFTLEFT ; | |
1376 | 1377 | YY_BREAK |
1377 | 1378 | case 72: |
1378 | 1379 | YY_RULE_SETUP |
1379 | 1380 | #line 204 "lex.l" |
1380 | -return jstr::parser::token::ADD ; | |
1381 | +return jstr::parser::token::SHIFTRIGHT ; | |
1381 | 1382 | YY_BREAK |
1382 | 1383 | case 73: |
1383 | 1384 | YY_RULE_SETUP |
1384 | -#line 205 "lex.l" | |
1385 | -return jstr::parser::token::SUB ; | |
1385 | +#line 206 "lex.l" | |
1386 | +return jstr::parser::token::ADD ; | |
1386 | 1387 | YY_BREAK |
1387 | 1388 | case 74: |
1388 | 1389 | YY_RULE_SETUP |
1389 | -#line 206 "lex.l" | |
1390 | -return jstr::parser::token::MUL ; | |
1390 | +#line 207 "lex.l" | |
1391 | +return jstr::parser::token::SUB ; | |
1391 | 1392 | YY_BREAK |
1392 | 1393 | case 75: |
1393 | 1394 | YY_RULE_SETUP |
1394 | -#line 207 "lex.l" | |
1395 | -return jstr::parser::token::DIV ; | |
1395 | +#line 208 "lex.l" | |
1396 | +return jstr::parser::token::MUL ; | |
1396 | 1397 | YY_BREAK |
1397 | 1398 | case 76: |
1398 | 1399 | YY_RULE_SETUP |
1399 | -#line 208 "lex.l" | |
1400 | -return jstr::parser::token::REMAINDER ; | |
1400 | +#line 209 "lex.l" | |
1401 | +return jstr::parser::token::DIV ; | |
1401 | 1402 | YY_BREAK |
1402 | 1403 | case 77: |
1403 | 1404 | YY_RULE_SETUP |
1404 | -#line 209 "lex.l" | |
1405 | -return jstr::parser::token::NOT ; | |
1405 | +#line 210 "lex.l" | |
1406 | +return jstr::parser::token::REMAINDER ; | |
1406 | 1407 | YY_BREAK |
1407 | 1408 | case 78: |
1408 | 1409 | YY_RULE_SETUP |
1409 | -#line 210 "lex.l" | |
1410 | -return jstr::parser::token::UNARYPLUSPLUS ; | |
1410 | +#line 211 "lex.l" | |
1411 | +return jstr::parser::token::NOT ; | |
1411 | 1412 | YY_BREAK |
1412 | 1413 | case 79: |
1413 | 1414 | YY_RULE_SETUP |
1414 | -#line 211 "lex.l" | |
1415 | -return jstr::parser::token::UNARYMINUSMINUS ; | |
1415 | +#line 212 "lex.l" | |
1416 | +return jstr::parser::token::UNARYPLUSPLUS ; | |
1416 | 1417 | YY_BREAK |
1417 | 1418 | case 80: |
1418 | 1419 | YY_RULE_SETUP |
1419 | 1420 | #line 213 "lex.l" |
1420 | -return jstr::parser::token::DOT ; | |
1421 | +return jstr::parser::token::UNARYMINUSMINUS ; | |
1421 | 1422 | YY_BREAK |
1422 | 1423 | case 81: |
1423 | 1424 | YY_RULE_SETUP |
1424 | -#line 214 "lex.l" | |
1425 | -return jstr::parser::token::PARENBEGIN ; | |
1425 | +#line 215 "lex.l" | |
1426 | +return jstr::parser::token::DOT ; | |
1426 | 1427 | YY_BREAK |
1427 | 1428 | case 82: |
1428 | 1429 | YY_RULE_SETUP |
1429 | -#line 215 "lex.l" | |
1430 | -return jstr::parser::token::PARENEND ; | |
1430 | +#line 216 "lex.l" | |
1431 | +return jstr::parser::token::PARENBEGIN ; | |
1431 | 1432 | YY_BREAK |
1432 | 1433 | case 83: |
1433 | 1434 | YY_RULE_SETUP |
1434 | -#line 216 "lex.l" | |
1435 | -return jstr::parser::token::CONDITIONALQUESTION; | |
1435 | +#line 217 "lex.l" | |
1436 | +return jstr::parser::token::PARENEND ; | |
1436 | 1437 | YY_BREAK |
1437 | 1438 | case 84: |
1438 | 1439 | YY_RULE_SETUP |
1439 | -#line 217 "lex.l" | |
1440 | -return jstr::parser::token::EXPECT ; | |
1440 | +#line 218 "lex.l" | |
1441 | +return jstr::parser::token::CONDITIONALQUESTION; | |
1441 | 1442 | YY_BREAK |
1442 | 1443 | case 85: |
1443 | 1444 | YY_RULE_SETUP |
1444 | -#line 218 "lex.l" | |
1445 | -return jstr::parser::token::EXCEPT ; | |
1445 | +#line 219 "lex.l" | |
1446 | +return jstr::parser::token::EXPECT ; | |
1446 | 1447 | YY_BREAK |
1447 | 1448 | case 86: |
1448 | 1449 | YY_RULE_SETUP |
1449 | -#line 221 "lex.l" | |
1450 | -return jstr::parser::token::IDENTIFIER ; | |
1450 | +#line 220 "lex.l" | |
1451 | +return jstr::parser::token::EXCEPT ; | |
1451 | 1452 | YY_BREAK |
1452 | 1453 | case 87: |
1453 | 1454 | YY_RULE_SETUP |
1454 | -#line 222 "lex.l" | |
1455 | -return jstr::parser::token::UNSIGNEDINTEGER ; | |
1455 | +#line 223 "lex.l" | |
1456 | +return jstr::parser::token::IDENTIFIER ; | |
1456 | 1457 | YY_BREAK |
1457 | 1458 | case 88: |
1458 | 1459 | YY_RULE_SETUP |
1459 | -#line 223 "lex.l" | |
1460 | -return jstr::parser::token::UNSIGNEDNUMBER ; | |
1460 | +#line 224 "lex.l" | |
1461 | +return jstr::parser::token::UNSIGNEDINTEGER ; | |
1461 | 1462 | YY_BREAK |
1462 | 1463 | case 89: |
1463 | 1464 | YY_RULE_SETUP |
1464 | -#line 224 "lex.l" | |
1465 | -return jstr::parser::token::TEXT ; | |
1465 | +#line 225 "lex.l" | |
1466 | +return jstr::parser::token::UNSIGNEDNUMBER ; | |
1466 | 1467 | YY_BREAK |
1467 | 1468 | case 90: |
1468 | -/* rule 90 can match eol */ | |
1469 | 1469 | YY_RULE_SETUP |
1470 | 1470 | #line 226 "lex.l" |
1471 | -return jstr::parser::token::COMMENT ; | |
1471 | +return jstr::parser::token::TEXT ; | |
1472 | 1472 | YY_BREAK |
1473 | 1473 | case 91: |
1474 | 1474 | /* rule 91 can match eol */ |
1475 | 1475 | YY_RULE_SETUP |
1476 | -#line 227 "lex.l" | |
1477 | -return jstr::parser::token::NEWLINE ; | |
1476 | +#line 228 "lex.l" | |
1477 | +return jstr::parser::token::COMMENT ; | |
1478 | 1478 | YY_BREAK |
1479 | 1479 | case 92: |
1480 | +/* rule 92 can match eol */ | |
1480 | 1481 | YY_RULE_SETUP |
1481 | -#line 228 "lex.l" | |
1482 | -return jstr::parser::token::INDENT ; | |
1482 | +#line 229 "lex.l" | |
1483 | +return jstr::parser::token::NEWLINE ; | |
1483 | 1484 | YY_BREAK |
1484 | 1485 | case 93: |
1485 | 1486 | YY_RULE_SETUP |
1486 | 1487 | #line 230 "lex.l" |
1488 | +return jstr::parser::token::INDENT ; | |
1489 | + YY_BREAK | |
1490 | +case 94: | |
1491 | +YY_RULE_SETUP | |
1492 | +#line 232 "lex.l" | |
1487 | 1493 | ECHO; |
1488 | 1494 | YY_BREAK |
1489 | -#line 1489 "lex.yy.cc" | |
1495 | +#line 1495 "lex.yy.cc" | |
1490 | 1496 | case YY_STATE_EOF(INITIAL): |
1491 | 1497 | yyterminate(); |
1492 | 1498 |
@@ -1927,7 +1933,7 @@ int yyFlexLexer::yy_get_next_buffer() | ||
1927 | 1933 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
1928 | 1934 | { |
1929 | 1935 | yy_current_state = (int) yy_def[yy_current_state]; |
1930 | - if ( yy_current_state >= 219 ) | |
1936 | + if ( yy_current_state >= 220 ) | |
1931 | 1937 | yy_c = yy_meta[yy_c]; |
1932 | 1938 | } |
1933 | 1939 | yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; |
@@ -1960,11 +1966,11 @@ int yyFlexLexer::yy_get_next_buffer() | ||
1960 | 1966 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
1961 | 1967 | { |
1962 | 1968 | yy_current_state = (int) yy_def[yy_current_state]; |
1963 | - if ( yy_current_state >= 219 ) | |
1969 | + if ( yy_current_state >= 220 ) | |
1964 | 1970 | yy_c = yy_meta[yy_c]; |
1965 | 1971 | } |
1966 | 1972 | yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; |
1967 | - yy_is_jam = (yy_current_state == 218); | |
1973 | + yy_is_jam = (yy_current_state == 219); | |
1968 | 1974 | |
1969 | 1975 | return yy_is_jam ? 0 : yy_current_state; |
1970 | 1976 | } |
@@ -2607,6 +2613,6 @@ void yyfree (void * ptr ) | ||
2607 | 2613 | |
2608 | 2614 | /* %ok-for-header */ |
2609 | 2615 | |
2610 | -#line 230 "lex.l" | |
2616 | +#line 232 "lex.l" | |
2611 | 2617 | |
2612 | 2618 |
@@ -116,7 +116,7 @@ int main(int argc, char **argv) | ||
116 | 116 | EXPECT(parsphrp->coordinateX[2], 0); |
117 | 117 | EXPECT(parsphrp->coordinateY[2], 0); |
118 | 118 | EXPECT(parsphrp->coordinateZ[2], 0); |
119 | - parsphrp = paa->createPhrase(jstr::parser::token::TEST); | |
119 | + parsphrp = paa->createPhrase(jstr::parser::token::MAIN); | |
120 | 120 | EXPECT(parsphrp->isKey(), true); |
121 | 121 | paa->setPhraseList(parsphrp); |
122 | 122 | paa->setCoordinate(); |
@@ -130,7 +130,7 @@ int main(int argc, char **argv) | ||
130 | 130 | paa->parse("test/classtest.j"); |
131 | 131 | EXPECT(paa->getAbstractSyntaxTree()->isNode(), true); |
132 | 132 | EXPECT(paa->getAbstractSyntaxTree()->getFirstChild()->isNode(), true); |
133 | - EXPECT(paa->getAbstractSyntaxTree()->getFirstChild()->getFirstChild()->isCaseOf(typeid(jstr::TestBlockModule*)), true); | |
133 | + EXPECT(paa->getAbstractSyntaxTree()->getFirstChild()->getFirstChild()->isCaseOf(typeid(jstr::MainBlockModule*)), true); | |
134 | 134 | EXPECT(paa->validateCoordinate(), true); |
135 | 135 | delete pa; |
136 | 136 | delete paa; |