~ubuntu-branches/ubuntu/quantal/gengetopt/quantal

« back to all changes in this revision

Viewing changes to src/scanner.cc

  • Committer: Package Import Robot
  • Author(s): Alessio Treglia
  • Date: 2011-09-26 10:27:31 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: package-import@ubuntu.com-20110926102731-vh42p0vriqz4kp3h
Tags: 2.22.5-1
* New upstream release:
  - correctly wraps and preprocess the specified usage string
  - handle escaped newline chars in the .ggo file correctly
  - initialize enum variables with a generated null value (makes
    the parser compilable in C++)
  - removed warnings in generated parser when only flags are used
* Fix gbp config file.
* Bump Standards.
* Drop unneeded dependency on dpkg (>= 1.15.4), stable has a newer version.
* Refresh patches.

Show diffs side-by-side

added added

removed removed

Lines of Context:
385
385
        *yy_cp = '\0'; \
386
386
        (yy_c_buf_p) = yy_cp;
387
387
 
388
 
#define YY_NUM_RULES 60
389
 
#define YY_END_OF_BUFFER 61
 
388
#define YY_NUM_RULES 62
 
389
#define YY_END_OF_BUFFER 63
390
390
/* This struct is not used in this scanner,
391
391
   but its presence is necessary. */
392
392
struct yy_trans_info
394
394
        flex_int32_t yy_verify;
395
395
        flex_int32_t yy_nxt;
396
396
        };
397
 
static yyconst flex_int16_t yy_accept[243] =
 
397
static yyconst flex_int16_t yy_accept[246] =
398
398
    {   0,
399
 
        0,    0,    0,    0,    0,    0,   61,   59,   55,   57,
400
 
       58,   54,   48,   56,   43,   42,   47,   41,   47,   47,
 
399
        0,    0,    0,    0,    0,    0,   63,   61,   57,   59,
 
400
       60,   56,   48,   58,   43,   42,   47,   41,   47,   47,
401
401
       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
402
 
       47,   47,   47,   47,   47,   47,   60,   46,   44,   45,
403
 
       53,   49,   53,   52,   53,   55,   57,   54,   56,    0,
 
402
       47,   47,   47,   47,   47,   47,   62,   46,   44,   45,
 
403
       55,   51,   55,   54,   55,   57,   59,   56,   58,    0,
404
404
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
405
405
       15,    0,   18,    0,    0,    0,    0,    0,    0,    0,
406
 
        0,    0,    0,    0,    0,    0,   45,   49,   50,    0,
407
 
       51,    0,    0,    0,    0,    0,    0,    0,    0,    0,
408
 
        0,    0,    2,    0,    0,    0,   19,    0,    0,    0,
409
 
 
410
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,   14,
411
 
        0,   40,    0,    0,    0,    0,    0,    0,    0,    9,
412
 
       17,    0,    0,    0,    4,   28,    0,    0,    0,    0,
413
 
        0,    0,    0,    0,   39,    0,    0,    0,    0,    0,
414
 
        0,    0,    0,    0,    0,    0,    0,    5,   25,    0,
415
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
416
 
        3,    0,    0,   22,    0,    0,    0,    0,    0,    0,
417
 
        0,    0,    0,    6,    0,    0,   36,    0,    0,    0,
418
 
        0,    0,   16,    0,    0,    0,    0,    1,    0,   35,
419
 
        0,    0,   23,    0,   30,    0,    0,   38,    0,    0,
420
 
 
421
 
        0,    0,    0,    0,    0,    0,   10,   20,    0,   34,
422
 
       24,   11,    0,   27,   37,    0,    0,    0,    0,    8,
423
 
       29,    0,   31,    0,    0,    0,   26,    0,    0,    0,
424
 
        0,    0,    0,    0,    7,   13,    0,   32,   21,   12,
425
 
       33,    0
 
406
        0,    0,    0,    0,    0,    0,   45,   51,   52,    0,
 
407
       53,    0,   50,    0,    0,    0,    0,    0,    0,    0,
 
408
        0,    0,    0,    0,    2,    0,    0,    0,   19,    0,
 
409
 
 
410
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
411
        0,   14,   49,    0,   40,    0,    0,    0,    0,    0,
 
412
        0,    0,    9,   17,    0,    0,    0,    4,   28,    0,
 
413
        0,    0,    0,    0,    0,    0,    0,   39,    0,    0,
 
414
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
415
        5,   25,    0,    0,    0,    0,    0,    0,    0,    0,
 
416
        0,    0,    0,    3,    0,    0,   22,    0,    0,    0,
 
417
        0,    0,    0,    0,    0,    0,    6,    0,    0,   36,
 
418
        0,    0,    0,    0,    0,   16,    0,    0,    0,    0,
 
419
        1,    0,   35,    0,    0,   23,    0,   30,    0,    0,
 
420
 
 
421
       38,    0,    0,    0,    0,    0,    0,    0,    0,   10,
 
422
       20,    0,   34,   24,   11,    0,   27,   37,    0,    0,
 
423
        0,    0,    8,   29,    0,   31,    0,    0,    0,   26,
 
424
        0,    0,    0,    0,    0,    0,    0,    7,   13,    0,
 
425
       32,   21,   12,   33,    0
426
426
    } ;
427
427
 
428
428
static yyconst flex_int32_t yy_ec[256] =
465
465
        1,    1,    1,    1,    1,    1,    1,    1,    1
466
466
    } ;
467
467
 
468
 
static yyconst flex_int16_t yy_base[247] =
469
 
    {   0,
470
 
        0,    0,   37,   47,   39,   57,  268,  269,  265,    0,
471
 
      269,  261,  269,    0,  269,  269,  269,  269,  232,   32,
472
 
      235,  236,  229,  236,  231,  229,   34,  228,   43,   30,
473
 
      236,   47,   36,  222,   59,  234,  269,  269,  269,  242,
474
 
      269,  250,  269,  269,   78,  250,    0,  246,    0,  227,
475
 
       55,  213,  212,   61,  217,  226,  210,  215,  223,  215,
476
 
      269,  219,  269,  205,  220,  205,  205,  217,  205,  201,
477
 
      195,  201,  214,  203,  196,  194,  215,  223,  269,   64,
478
 
      269,   58,   70,  204,  205,  206,  204,  193,  197,  202,
479
 
      182,  197,  269,  193,  194,  179,  269,  188,  186,  180,
480
 
 
481
 
      174,  174,  175,  182,  171,  184,  181,  167,  168,  269,
482
 
      170,  269,  164,  166,  168,  168,  163,  170,  167,  269,
483
 
      269,  158,  161,  170,   74,   65,  165,  159,  171,  157,
484
 
      161,  160,  149,  154,  269,  148,  160,  159,  154,  143,
485
 
      150,  146,  155,  154,  148,  145,  150,  269,   76,  141,
486
 
      139,  138,  146,  135,  134,  135,  140,  128,  128,  130,
487
 
      269,  136,  123,  269,  123,  126,  130,  119,  117,  131,
488
 
      121,  119,  115,  269,  127,  116,  269,  110,  116,  110,
489
 
      108,  115,  124,  119,  118,  117,  108,  269,  103,  269,
490
 
      106,  104,  269,  102,  269,  103,   96,  269,   96,   94,
491
 
 
492
 
      110,  104,  107,  100,  103,   96,  269,  269,  102,  101,
493
 
      269,  269,   91,  269,  269,   94,   99,   92,   89,  269,
494
 
      269,   85,  269,   93,   96,   82,  269,   81,   84,   75,
495
 
       69,   75,   71,   70,  269,  269,   78,  269,  269,  269,
496
 
      269,  269,  106,  108,   78,   51
497
 
    } ;
498
 
 
499
 
static yyconst flex_int16_t yy_def[247] =
500
 
    {   0,
501
 
      242,    1,  243,  243,  244,  244,  242,  242,  242,  245,
502
 
      242,  242,  242,  246,  242,  242,  242,  242,  242,  242,
503
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
504
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
505
 
      242,  242,  242,  242,  242,  242,  245,  242,  246,  242,
506
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
507
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
508
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
509
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
510
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
511
 
 
512
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
513
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
514
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
515
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
516
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
517
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
518
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
519
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
520
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
521
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
522
 
 
523
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
524
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
525
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
526
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
527
 
      242,    0,  242,  242,  242,  242
528
 
    } ;
529
 
 
530
 
static yyconst flex_int16_t yy_nxt[309] =
 
468
static yyconst flex_int16_t yy_base[250] =
 
469
    {   0,
 
470
        0,    0,   37,   47,   39,   57,  271,  272,  268,    0,
 
471
      272,  264,  272,    0,  272,  272,  272,  272,  235,   32,
 
472
      238,  239,  232,  239,  234,  232,   34,  231,   43,   30,
 
473
      239,   47,   36,  225,   59,  237,  272,  272,  272,  245,
 
474
      272,  253,  272,  272,   78,  253,    0,  249,    0,  230,
 
475
       55,  216,  215,   61,  220,  229,  213,  218,  226,  218,
 
476
      272,  222,  272,  208,  223,  208,  208,  220,  208,  204,
 
477
      198,  204,  217,  206,  199,  197,  218,  226,  272,   64,
 
478
      272,  199,  272,   58,   70,  206,  207,  208,  206,  195,
 
479
      199,  204,  184,  199,  272,  195,  196,  181,  272,  190,
 
480
 
 
481
      188,  182,  176,  176,  177,  184,  173,  186,  183,  169,
 
482
      170,  272,  272,  172,  272,  166,  168,  170,  170,  165,
 
483
      172,  169,  272,  272,  160,  163,  172,   75,   76,  167,
 
484
      161,  173,  159,  163,  162,  151,  156,  272,  150,  162,
 
485
      161,  156,  145,  152,  148,  157,  156,  150,  147,  152,
 
486
      272,   79,  143,  141,  140,  148,  137,  136,  137,  142,
 
487
      130,  130,  132,  272,  138,  125,  272,  125,  128,  132,
 
488
      121,  119,  133,  123,  121,  117,  272,  129,  118,  272,
 
489
      112,  118,  112,  110,  117,  126,  121,  120,  119,  110,
 
490
      272,  105,  272,  108,  106,  272,  104,  272,  105,   98,
 
491
 
 
492
      272,   98,   96,  112,  106,  109,  102,  105,   98,  272,
 
493
      272,  104,  103,  272,  272,   93,  272,  272,   96,  101,
 
494
       94,   91,  272,  272,   87,  272,   95,   98,   84,  272,
 
495
       78,   84,   75,   69,   74,   71,   68,  272,  272,   66,
 
496
      272,  272,  272,  272,  272,  109,  111,   78,   51
 
497
    } ;
 
498
 
 
499
static yyconst flex_int16_t yy_def[250] =
 
500
    {   0,
 
501
      245,    1,  246,  246,  247,  247,  245,  245,  245,  248,
 
502
      245,  245,  245,  249,  245,  245,  245,  245,  245,  245,
 
503
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
504
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
505
      245,  245,  245,  245,  245,  245,  248,  245,  249,  245,
 
506
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
507
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
508
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
509
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
510
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
511
 
 
512
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
513
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
514
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
515
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
516
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
517
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
518
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
519
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
520
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
521
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
522
 
 
523
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
524
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
525
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
526
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
527
      245,  245,  245,  245,    0,  245,  245,  245,  245
 
528
    } ;
 
529
 
 
530
static yyconst flex_int16_t yy_nxt[312] =
531
531
    {   0,
532
532
        8,    9,   10,   11,   12,   13,   14,   15,    8,   16,
533
533
       17,   17,   18,   17,   17,    8,   19,   17,   17,   20,
536
536
       11,   42,   43,   14,   44,   38,   65,   39,   40,   37,
537
537
       11,   49,   51,   14,   45,   38,   71,   39,   40,   42,
538
538
       43,   52,   44,   59,   62,   66,   79,   68,   80,   60,
539
 
       69,   63,   45,   64,   72,   74,   83,   89,   47,   75,
540
 
       79,   70,   80,   81,  153,   84,  113,  111,   85,   86,
541
 
       90,  112,  114,  151,  154,  175,  241,  115,  240,  239,
542
 
 
543
 
      152,  238,  237,  236,  235,  176,    8,    8,   41,   41,
544
 
      234,  233,  232,  231,  230,  229,  228,  227,  226,  225,
545
 
      224,  110,   61,  223,  222,  221,  220,  219,  218,  217,
546
 
      216,  215,  214,  213,  212,  211,  210,  209,  208,  207,
547
 
      206,  205,  204,  203,  202,  201,  200,  199,  198,  197,
548
 
      196,  195,  194,  193,  192,  191,  190,  189,  188,  187,
549
 
      186,  185,  184,  183,  182,  181,  180,  179,  178,  177,
550
 
      174,  173,  172,  171,  170,  169,  168,  167,  166,  165,
551
 
      164,  163,  162,  161,  160,  159,  158,  157,  156,  155,
552
 
      150,  149,  148,  147,  146,  145,  144,  143,  142,  141,
553
 
 
554
 
      140,  139,  138,  137,  136,  135,  134,  133,  132,  131,
555
 
      130,  129,  128,  127,  126,  125,  124,  123,  122,  121,
556
 
      120,  119,  118,  117,  116,   78,   77,  110,  109,  108,
557
 
      107,  106,  105,  104,  103,  102,  101,  100,   99,   98,
558
 
       97,   96,   95,   94,   93,   92,   91,   88,   87,   82,
559
 
       48,   46,   78,   77,   76,   73,   67,   61,   58,   57,
560
 
       56,   55,   54,   53,   50,   48,   46,  242,    7,  242,
561
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
562
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
563
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
564
 
 
565
 
      242,  242,  242,  242,  242,  242,  242,  242
 
539
       69,   63,   45,   64,   72,   74,   85,   91,   47,   75,
 
540
       79,   70,   80,   81,  244,   86,  116,  114,   87,   88,
 
541
       92,  115,  117,   82,  154,  156,  243,  118,  178,  242,
 
542
 
 
543
      241,  155,  240,  239,  238,  157,   83,  237,  179,    8,
 
544
        8,   41,   41,  236,  235,  234,  233,  232,  231,  230,
 
545
      229,  228,  227,  112,   61,  226,  225,  224,  223,  222,
 
546
      221,  220,  219,  218,  217,  216,  215,  214,  213,  212,
 
547
      211,  210,  209,  208,  207,  206,  205,  204,  203,  202,
 
548
      201,  200,  199,  198,  197,  196,  195,  194,  193,  192,
 
549
      191,  190,  189,  188,  187,  186,  185,  184,  183,  182,
 
550
      181,  180,  177,  176,  175,  174,  173,  172,  171,  170,
 
551
      169,  168,  167,  166,  165,  164,  163,  162,  161,  160,
 
552
      159,  158,  153,  152,  151,  150,  149,  148,  147,  146,
 
553
 
 
554
      145,  144,  143,  142,  141,  140,  139,  138,  137,  136,
 
555
      135,  134,  133,  132,  131,  130,  129,  128,  127,  126,
 
556
      125,  124,  123,  122,  121,  120,  119,  113,   78,   77,
 
557
      112,  111,  110,  109,  108,  107,  106,  105,  104,  103,
 
558
      102,  101,  100,   99,   98,   97,   96,   95,   94,   93,
 
559
       90,   89,   84,   48,   46,   78,   77,   76,   73,   67,
 
560
       61,   58,   57,   56,   55,   54,   53,   50,   48,   46,
 
561
      245,    7,  245,  245,  245,  245,  245,  245,  245,  245,
 
562
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
563
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
564
 
 
565
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
566
      245
566
567
    } ;
567
568
 
568
 
static yyconst flex_int16_t yy_chk[309] =
 
569
static yyconst flex_int16_t yy_chk[312] =
569
570
    {   0,
570
571
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
571
572
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
572
573
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
573
574
        1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
574
575
        3,    5,    5,    3,    5,    3,   30,    3,    3,    4,
575
 
        4,  246,   20,    4,    5,    4,   33,    4,    4,    6,
 
576
        4,  249,   20,    4,    5,    4,   33,    4,    4,    6,
576
577
        6,   20,    6,   27,   29,   30,   80,   32,   80,   27,
577
 
       32,   29,    6,   29,   33,   35,   51,   54,  245,   35,
578
 
       45,   32,   45,   45,  126,   51,   83,   82,   51,   51,
579
 
       54,   82,   83,  125,  126,  149,  237,   83,  234,  233,
580
 
 
581
 
      125,  232,  231,  230,  229,  149,  243,  243,  244,  244,
582
 
      228,  226,  225,  224,  222,  219,  218,  217,  216,  213,
583
 
      210,  209,  206,  205,  204,  203,  202,  201,  200,  199,
584
 
      197,  196,  194,  192,  191,  189,  187,  186,  185,  184,
585
 
      183,  182,  181,  180,  179,  178,  176,  175,  173,  172,
586
 
      171,  170,  169,  168,  167,  166,  165,  163,  162,  160,
587
 
      159,  158,  157,  156,  155,  154,  153,  152,  151,  150,
588
 
      147,  146,  145,  144,  143,  142,  141,  140,  139,  138,
589
 
      137,  136,  134,  133,  132,  131,  130,  129,  128,  127,
590
 
      124,  123,  122,  119,  118,  117,  116,  115,  114,  113,
591
 
 
592
 
      111,  109,  108,  107,  106,  105,  104,  103,  102,  101,
593
 
      100,   99,   98,   96,   95,   94,   92,   91,   90,   89,
594
 
       88,   87,   86,   85,   84,   78,   77,   76,   75,   74,
595
 
       73,   72,   71,   70,   69,   68,   67,   66,   65,   64,
596
 
       62,   60,   59,   58,   57,   56,   55,   53,   52,   50,
597
 
       48,   46,   42,   40,   36,   34,   31,   28,   26,   25,
598
 
       24,   23,   22,   21,   19,   12,    9,    7,  242,  242,
599
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
600
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
601
 
      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
602
 
 
603
 
      242,  242,  242,  242,  242,  242,  242,  242
 
578
       32,   29,    6,   29,   33,   35,   51,   54,  248,   35,
 
579
       45,   32,   45,   45,  240,   51,   85,   84,   51,   51,
 
580
       54,   84,   85,   45,  128,  129,  237,   85,  152,  236,
 
581
 
 
582
      235,  128,  234,  233,  232,  129,   45,  231,  152,  246,
 
583
      246,  247,  247,  229,  228,  227,  225,  222,  221,  220,
 
584
      219,  216,  213,  212,  209,  208,  207,  206,  205,  204,
 
585
      203,  202,  200,  199,  197,  195,  194,  192,  190,  189,
 
586
      188,  187,  186,  185,  184,  183,  182,  181,  179,  178,
 
587
      176,  175,  174,  173,  172,  171,  170,  169,  168,  166,
 
588
      165,  163,  162,  161,  160,  159,  158,  157,  156,  155,
 
589
      154,  153,  150,  149,  148,  147,  146,  145,  144,  143,
 
590
      142,  141,  140,  139,  137,  136,  135,  134,  133,  132,
 
591
      131,  130,  127,  126,  125,  122,  121,  120,  119,  118,
 
592
 
 
593
      117,  116,  114,  111,  110,  109,  108,  107,  106,  105,
 
594
      104,  103,  102,  101,  100,   98,   97,   96,   94,   93,
 
595
       92,   91,   90,   89,   88,   87,   86,   82,   78,   77,
 
596
       76,   75,   74,   73,   72,   71,   70,   69,   68,   67,
 
597
       66,   65,   64,   62,   60,   59,   58,   57,   56,   55,
 
598
       53,   52,   50,   48,   46,   42,   40,   36,   34,   31,
 
599
       28,   26,   25,   24,   23,   22,   21,   19,   12,    9,
 
600
        7,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
601
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
602
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
603
 
 
604
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
 
605
      245
604
606
    } ;
605
607
 
606
608
/* Table of booleans, true if rule could match eol. */
607
 
static yyconst flex_int32_t yy_rule_can_match_eol[61] =
 
609
static yyconst flex_int32_t yy_rule_can_match_eol[63] =
608
610
    {   0,
609
611
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
610
612
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
611
 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 
612
 
    0,     };
 
613
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 
 
614
    0, 0, 0,     };
613
615
 
614
616
static yy_state_type yy_last_accepting_state;
615
617
static char *yy_last_accepting_cpos;
651
653
#endif
652
654
 
653
655
#include <string.h>
 
656
#include <sstream>
654
657
 
655
658
#include "argsdef.h"
656
659
#include "parser.h"
657
660
extern int gengetopt_count_line;
658
661
 
659
 
#include "my_sstream.h"
660
 
 
661
662
static void update_count_line (char *str);
662
663
static void updateTokenInfo (int pos);
663
664
 
686
687
#endif
687
688
 
688
689
 
689
 
#line 690 "../../src/scanner.cc"
 
690
#line 691 "../../src/scanner.cc"
690
691
 
691
692
#define INITIAL 0
692
693
#define SIZE_STATE 1
883
884
        register char *yy_cp, *yy_bp;
884
885
        register int yy_act;
885
886
    
886
 
#line 71 "../../src/scanner.ll"
887
 
 
888
 
 
889
 
 
890
 
#line 891 "../../src/scanner.cc"
 
887
#line 70 "../../src/scanner.ll"
 
888
 
 
889
 
 
890
 
 
891
#line 892 "../../src/scanner.cc"
891
892
 
892
893
        if ( !(yy_init) )
893
894
                {
940
941
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
941
942
                                {
942
943
                                yy_current_state = (int) yy_def[yy_current_state];
943
 
                                if ( yy_current_state >= 243 )
 
944
                                if ( yy_current_state >= 246 )
944
945
                                        yy_c = yy_meta[(unsigned int) yy_c];
945
946
                                }
946
947
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
947
948
                        ++yy_cp;
948
949
                        }
949
 
                while ( yy_base[yy_current_state] != 269 );
 
950
                while ( yy_base[yy_current_state] != 272 );
950
951
 
951
952
yy_find_action:
952
953
                yy_act = yy_accept[yy_current_state];
982
983
 
983
984
case 1:
984
985
YY_RULE_SETUP
985
 
#line 74 "../../src/scanner.ll"
 
986
#line 73 "../../src/scanner.ll"
986
987
updateTokenInfo (-1); yylval.argtype = ARG_STRING; return TOK_ARGTYPE;
987
988
        YY_BREAK
988
989
case 2:
989
990
YY_RULE_SETUP
990
 
#line 75 "../../src/scanner.ll"
 
991
#line 74 "../../src/scanner.ll"
991
992
updateTokenInfo (-1); yylval.argtype = ARG_INT; return TOK_ARGTYPE;
992
993
        YY_BREAK
993
994
case 3:
994
995
YY_RULE_SETUP
995
 
#line 76 "../../src/scanner.ll"
 
996
#line 75 "../../src/scanner.ll"
996
997
updateTokenInfo (-1); yylval.argtype = ARG_SHORT; return TOK_ARGTYPE;
997
998
        YY_BREAK
998
999
case 4:
999
1000
YY_RULE_SETUP
1000
 
#line 77 "../../src/scanner.ll"
 
1001
#line 76 "../../src/scanner.ll"
1001
1002
updateTokenInfo (-1); yylval.argtype = ARG_LONG; return TOK_ARGTYPE;
1002
1003
        YY_BREAK
1003
1004
case 5:
1004
1005
YY_RULE_SETUP
1005
 
#line 78 "../../src/scanner.ll"
 
1006
#line 77 "../../src/scanner.ll"
1006
1007
updateTokenInfo (-1); yylval.argtype = ARG_FLOAT; return TOK_ARGTYPE;
1007
1008
        YY_BREAK
1008
1009
case 6:
1009
1010
YY_RULE_SETUP
1010
 
#line 79 "../../src/scanner.ll"
 
1011
#line 78 "../../src/scanner.ll"
1011
1012
updateTokenInfo (-1); yylval.argtype = ARG_DOUBLE; return TOK_ARGTYPE;
1012
1013
        YY_BREAK
1013
1014
case 7:
1014
1015
YY_RULE_SETUP
1015
 
#line 80 "../../src/scanner.ll"
 
1016
#line 79 "../../src/scanner.ll"
1016
1017
updateTokenInfo (-1); yylval.argtype = ARG_LONGDOUBLE; return TOK_ARGTYPE;
1017
1018
        YY_BREAK
1018
1019
case 8:
1019
1020
YY_RULE_SETUP
1020
 
#line 81 "../../src/scanner.ll"
 
1021
#line 80 "../../src/scanner.ll"
1021
1022
updateTokenInfo (-1); yylval.argtype = ARG_LONGLONG; return TOK_ARGTYPE;
1022
1023
        YY_BREAK
1023
1024
case 9:
1024
1025
YY_RULE_SETUP
1025
 
#line 82 "../../src/scanner.ll"
 
1026
#line 81 "../../src/scanner.ll"
1026
1027
updateTokenInfo (-1); yylval.argtype = ARG_ENUM; return TOK_ARGTYPE;
1027
1028
        YY_BREAK
1028
1029
case 10:
1029
1030
YY_RULE_SETUP
1030
 
#line 84 "../../src/scanner.ll"
 
1031
#line 83 "../../src/scanner.ll"
1031
1032
updateTokenInfo (-1); return TOK_PACKAGE;
1032
1033
        YY_BREAK
1033
1034
case 11:
1034
1035
YY_RULE_SETUP
1035
 
#line 85 "../../src/scanner.ll"
 
1036
#line 84 "../../src/scanner.ll"
1036
1037
updateTokenInfo (-1); return TOK_VERSION;
1037
1038
        YY_BREAK
1038
1039
case 12:
1039
1040
YY_RULE_SETUP
1040
 
#line 86 "../../src/scanner.ll"
 
1041
#line 85 "../../src/scanner.ll"
1041
1042
updateTokenInfo (-1); yylloc.first_line = gengetopt_count_line; return TOK_GROUPOPTION;
1042
1043
        YY_BREAK
1043
1044
case 13:
1044
1045
YY_RULE_SETUP
1045
 
#line 87 "../../src/scanner.ll"
 
1046
#line 86 "../../src/scanner.ll"
1046
1047
updateTokenInfo (-1); yylloc.first_line = gengetopt_count_line; return TOK_MODEOPTION;
1047
1048
        YY_BREAK
1048
1049
case 14:
1049
1050
YY_RULE_SETUP
1050
 
#line 88 "../../src/scanner.ll"
 
1051
#line 87 "../../src/scanner.ll"
1051
1052
updateTokenInfo (-1); return TOK_YES;
1052
1053
        YY_BREAK
1053
1054
case 15:
1054
1055
YY_RULE_SETUP
1055
 
#line 89 "../../src/scanner.ll"
 
1056
#line 88 "../../src/scanner.ll"
1056
1057
updateTokenInfo (-1); return TOK_NO;
1057
1058
        YY_BREAK
1058
1059
case 16:
1059
1060
YY_RULE_SETUP
1060
 
#line 90 "../../src/scanner.ll"
 
1061
#line 89 "../../src/scanner.ll"
1061
1062
updateTokenInfo (-1); yylloc.first_line = gengetopt_count_line; return TOK_OPTION;
1062
1063
        YY_BREAK
1063
1064
case 17:
1064
1065
YY_RULE_SETUP
1065
 
#line 91 "../../src/scanner.ll"
 
1066
#line 90 "../../src/scanner.ll"
1066
1067
updateTokenInfo (-1); return TOK_FLAG;
1067
1068
        YY_BREAK
1068
1069
case 18:
1069
1070
YY_RULE_SETUP
1070
 
#line 92 "../../src/scanner.ll"
 
1071
#line 91 "../../src/scanner.ll"
1071
1072
updateTokenInfo (-1); return TOK_ON;
1072
1073
        YY_BREAK
1073
1074
case 19:
1074
1075
YY_RULE_SETUP
1075
 
#line 93 "../../src/scanner.ll"
 
1076
#line 92 "../../src/scanner.ll"
1076
1077
updateTokenInfo (-1); return TOK_OFF;
1077
1078
        YY_BREAK
1078
1079
case 20:
1079
1080
YY_RULE_SETUP
1080
 
#line 94 "../../src/scanner.ll"
 
1081
#line 93 "../../src/scanner.ll"
1081
1082
updateTokenInfo (-1); return TOK_PURPOSE;
1082
1083
        YY_BREAK
1083
1084
case 21:
1084
1085
YY_RULE_SETUP
1085
 
#line 95 "../../src/scanner.ll"
 
1086
#line 94 "../../src/scanner.ll"
1086
1087
updateTokenInfo (-1); return TOK_DESCRIPTION;
1087
1088
        YY_BREAK
1088
1089
case 22:
1089
1090
YY_RULE_SETUP
1090
 
#line 96 "../../src/scanner.ll"
 
1091
#line 95 "../../src/scanner.ll"
1091
1092
updateTokenInfo (-1); return TOK_USAGE;
1092
1093
        YY_BREAK
1093
1094
case 23:
1094
1095
YY_RULE_SETUP
1095
 
#line 97 "../../src/scanner.ll"
 
1096
#line 96 "../../src/scanner.ll"
1096
1097
updateTokenInfo (-1); return TOK_DEFAULT;
1097
1098
        YY_BREAK
1098
1099
case 24:
1099
1100
YY_RULE_SETUP
1100
 
#line 98 "../../src/scanner.ll"
 
1101
#line 97 "../../src/scanner.ll"
1101
1102
updateTokenInfo (-1); return TOK_TYPESTR;
1102
1103
        YY_BREAK
1103
1104
case 25:
1104
1105
YY_RULE_SETUP
1105
 
#line 99 "../../src/scanner.ll"
 
1106
#line 98 "../../src/scanner.ll"
1106
1107
updateTokenInfo (-1); return TOK_GROUP;
1107
1108
        YY_BREAK
1108
1109
case 26:
1109
1110
YY_RULE_SETUP
1110
 
#line 100 "../../src/scanner.ll"
 
1111
#line 99 "../../src/scanner.ll"
1111
1112
updateTokenInfo (-1); return TOK_GROUPDESC;
1112
1113
        YY_BREAK
1113
1114
case 27:
1114
1115
YY_RULE_SETUP
1115
 
#line 101 "../../src/scanner.ll"
 
1116
#line 100 "../../src/scanner.ll"
1116
1117
updateTokenInfo (-1); return TOK_DEFGROUP;
1117
1118
        YY_BREAK
1118
1119
case 28:
1119
1120
YY_RULE_SETUP
1120
 
#line 102 "../../src/scanner.ll"
 
1121
#line 101 "../../src/scanner.ll"
1121
1122
updateTokenInfo (-1); return TOK_MODE;
1122
1123
        YY_BREAK
1123
1124
case 29:
1124
1125
YY_RULE_SETUP
1125
 
#line 103 "../../src/scanner.ll"
 
1126
#line 102 "../../src/scanner.ll"
1126
1127
updateTokenInfo (-1); return TOK_MODEDESC;
1127
1128
        YY_BREAK
1128
1129
case 30:
1129
1130
YY_RULE_SETUP
1130
 
#line 104 "../../src/scanner.ll"
 
1131
#line 103 "../../src/scanner.ll"
1131
1132
updateTokenInfo (-1); return TOK_DEFMODE;
1132
1133
        YY_BREAK
1133
1134
case 31:
1134
1135
YY_RULE_SETUP
1135
 
#line 105 "../../src/scanner.ll"
 
1136
#line 104 "../../src/scanner.ll"
1136
1137
updateTokenInfo (-1); return TOK_MULTIPLE;
1137
1138
        YY_BREAK
1138
1139
case 32:
1139
1140
YY_RULE_SETUP
1140
 
#line 106 "../../src/scanner.ll"
 
1141
#line 105 "../../src/scanner.ll"
1141
1142
updateTokenInfo (-1); return TOK_ARGOPTIONAL;
1142
1143
        YY_BREAK
1143
1144
case 33:
1144
1145
YY_RULE_SETUP
1145
 
#line 107 "../../src/scanner.ll"
 
1146
#line 106 "../../src/scanner.ll"
1146
1147
updateTokenInfo (-1); return TOK_SECTIONDESC;
1147
1148
        YY_BREAK
1148
1149
case 34:
1149
1150
YY_RULE_SETUP
1150
 
#line 108 "../../src/scanner.ll"
 
1151
#line 107 "../../src/scanner.ll"
1151
1152
updateTokenInfo (-1); return TOK_SECTION;
1152
1153
        YY_BREAK
1153
1154
case 35:
1154
1155
YY_RULE_SETUP
1155
 
#line 109 "../../src/scanner.ll"
 
1156
#line 108 "../../src/scanner.ll"
1156
1157
updateTokenInfo (-1); return TOK_VALUES;
1157
1158
        YY_BREAK
1158
1159
case 36:
1159
1160
YY_RULE_SETUP
1160
 
#line 110 "../../src/scanner.ll"
 
1161
#line 109 "../../src/scanner.ll"
1161
1162
updateTokenInfo (-1); return TOK_HIDDEN;
1162
1163
        YY_BREAK
1163
1164
case 37:
1164
1165
YY_RULE_SETUP
1165
 
#line 111 "../../src/scanner.ll"
 
1166
#line 110 "../../src/scanner.ll"
1166
1167
updateTokenInfo (-1); return TOK_DEPENDON;
1167
1168
        YY_BREAK
1168
1169
case 38:
1169
1170
YY_RULE_SETUP
1170
 
#line 112 "../../src/scanner.ll"
 
1171
#line 111 "../../src/scanner.ll"
1171
1172
updateTokenInfo (-1); return TOK_DETAILS;
1172
1173
        YY_BREAK
1173
1174
case 39:
1174
1175
YY_RULE_SETUP
1175
 
#line 113 "../../src/scanner.ll"
 
1176
#line 112 "../../src/scanner.ll"
1176
1177
updateTokenInfo (-1); return TOK_TEXT;
1177
1178
        YY_BREAK
1178
1179
case 40:
1179
1180
YY_RULE_SETUP
1180
 
#line 114 "../../src/scanner.ll"
 
1181
#line 113 "../../src/scanner.ll"
1181
1182
updateTokenInfo (-1); return TOK_ARGS;
1182
1183
        YY_BREAK
1183
1184
case 41:
1184
1185
YY_RULE_SETUP
1185
 
#line 116 "../../src/scanner.ll"
 
1186
#line 115 "../../src/scanner.ll"
1186
1187
{ updateTokenInfo (-1); return '='; }
1187
1188
        YY_BREAK
1188
1189
case 42:
1189
1190
YY_RULE_SETUP
1190
 
#line 117 "../../src/scanner.ll"
 
1191
#line 116 "../../src/scanner.ll"
1191
1192
{ updateTokenInfo (-1); return ','; }
1192
1193
        YY_BREAK
1193
1194
case 43:
1194
1195
YY_RULE_SETUP
1195
 
#line 119 "../../src/scanner.ll"
 
1196
#line 118 "../../src/scanner.ll"
1196
1197
{ PUSH(SIZE_STATE); updateTokenInfo (-1); return '('; }
1197
1198
        YY_BREAK
1198
1199
case 44:
1199
1200
YY_RULE_SETUP
1200
 
#line 120 "../../src/scanner.ll"
 
1201
#line 119 "../../src/scanner.ll"
1201
1202
{ updateTokenInfo (-1); return '-'; }
1202
1203
        YY_BREAK
1203
1204
case 45:
1204
1205
YY_RULE_SETUP
1205
 
#line 121 "../../src/scanner.ll"
 
1206
#line 120 "../../src/scanner.ll"
1206
1207
{ updateTokenInfo (-1); yylval.str = strdup(yytext); return TOK_SIZE; }
1207
1208
        YY_BREAK
1208
1209
case 46:
1209
1210
YY_RULE_SETUP
1210
 
#line 122 "../../src/scanner.ll"
 
1211
#line 121 "../../src/scanner.ll"
1211
1212
{ POP(); updateTokenInfo (-1); return ')'; }
1212
1213
        YY_BREAK
1213
1214
case 47:
1214
1215
YY_RULE_SETUP
1215
 
#line 124 "../../src/scanner.ll"
 
1216
#line 123 "../../src/scanner.ll"
1216
1217
updateTokenInfo (-1); yylval.chr = yytext[0]; return TOK_CHAR;
1217
1218
        YY_BREAK
1218
1219
case 48:
1219
1220
YY_RULE_SETUP
1220
 
#line 126 "../../src/scanner.ll"
 
1221
#line 125 "../../src/scanner.ll"
1221
1222
{ updateTokenInfo (-1); DEB("start string"); PUSH(STRING_STATE) ; }
1222
1223
        YY_BREAK
1223
1224
case 49:
1224
 
/* rule 49 can match eol */
 
1225
YY_RULE_SETUP
 
1226
#line 126 "../../src/scanner.ll"
 
1227
{ updateTokenInfo (2); buffer("\\\\n"); }
 
1228
        YY_BREAK
 
1229
case 50:
1225
1230
YY_RULE_SETUP
1226
1231
#line 127 "../../src/scanner.ll"
 
1232
{ updateTokenInfo (1); buffer("\n"); }
 
1233
        YY_BREAK
 
1234
case 51:
 
1235
/* rule 51 can match eol */
 
1236
YY_RULE_SETUP
 
1237
#line 128 "../../src/scanner.ll"
1227
1238
{  update_count_line (yytext); buffer( yytext ) ; }
1228
1239
        YY_BREAK
1229
 
case 50:
1230
 
/* rule 50 can match eol */
 
1240
case 52:
 
1241
/* rule 52 can match eol */
1231
1242
YY_RULE_SETUP
1232
 
#line 128 "../../src/scanner.ll"
 
1243
#line 129 "../../src/scanner.ll"
1233
1244
{ update_count_line (yytext); /* a line break */ }
1234
1245
        YY_BREAK
1235
 
case 51:
 
1246
case 53:
1236
1247
YY_RULE_SETUP
1237
 
#line 129 "../../src/scanner.ll"
 
1248
#line 130 "../../src/scanner.ll"
1238
1249
{ updateTokenInfo (-1); buffer(yytext); }
1239
1250
        YY_BREAK
1240
 
case 52:
 
1251
case 54:
1241
1252
YY_RULE_SETUP
1242
 
#line 130 "../../src/scanner.ll"
 
1253
#line 131 "../../src/scanner.ll"
1243
1254
{ updateTokenInfo (-1); DEB("end string"); POP() ; yylval.str = flush_buffer(); return TOK_STRING; }
1244
1255
        YY_BREAK
1245
 
case 53:
 
1256
case 55:
1246
1257
YY_RULE_SETUP
1247
 
#line 131 "../../src/scanner.ll"
 
1258
#line 132 "../../src/scanner.ll"
1248
1259
{  updateTokenInfo (-1); buffer( yytext ) ; }
1249
1260
        YY_BREAK
1250
 
case 54:
 
1261
case 56:
1251
1262
YY_RULE_SETUP
1252
 
#line 133 "../../src/scanner.ll"
 
1263
#line 134 "../../src/scanner.ll"
1253
1264
updateTokenInfo (-1);
1254
1265
        YY_BREAK
1255
 
case 55:
 
1266
case 57:
1256
1267
YY_RULE_SETUP
1257
 
#line 134 "../../src/scanner.ll"
 
1268
#line 135 "../../src/scanner.ll"
1258
1269
updateTokenInfo (8*yyleng);
1259
1270
        YY_BREAK
1260
 
case 56:
 
1271
case 58:
1261
1272
YY_RULE_SETUP
1262
 
#line 136 "../../src/scanner.ll"
 
1273
#line 137 "../../src/scanner.ll"
1263
1274
/* comments begin with # in any place (but strings) */
1264
1275
        YY_BREAK
1265
 
case 57:
1266
 
/* rule 57 can match eol */
 
1276
case 59:
 
1277
/* rule 59 can match eol */
1267
1278
YY_RULE_SETUP
1268
 
#line 137 "../../src/scanner.ll"
 
1279
#line 138 "../../src/scanner.ll"
1269
1280
update_count_line (0); yyless(1) ; /* give back all but the \n to rescan */
1270
1281
        YY_BREAK
1271
 
case 58:
 
1282
case 60:
1272
1283
YY_RULE_SETUP
1273
 
#line 139 "../../src/scanner.ll"
 
1284
#line 140 "../../src/scanner.ll"
1274
1285
{}
1275
1286
        YY_BREAK
1276
 
case 59:
 
1287
case 61:
1277
1288
YY_RULE_SETUP
1278
 
#line 141 "../../src/scanner.ll"
 
1289
#line 142 "../../src/scanner.ll"
1279
1290
{
1280
1291
  return 1000; /* little hack to produce a parse error too. */
1281
1292
}
1282
1293
        YY_BREAK
1283
 
case 60:
 
1294
case 62:
1284
1295
YY_RULE_SETUP
1285
 
#line 145 "../../src/scanner.ll"
 
1296
#line 146 "../../src/scanner.ll"
1286
1297
ECHO;
1287
1298
        YY_BREAK
1288
 
#line 1289 "../../src/scanner.cc"
 
1299
#line 1300 "../../src/scanner.cc"
1289
1300
case YY_STATE_EOF(INITIAL):
1290
1301
case YY_STATE_EOF(SIZE_STATE):
1291
1302
case YY_STATE_EOF(STRING_STATE):
1579
1590
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1580
1591
                        {
1581
1592
                        yy_current_state = (int) yy_def[yy_current_state];
1582
 
                        if ( yy_current_state >= 243 )
 
1593
                        if ( yy_current_state >= 246 )
1583
1594
                                yy_c = yy_meta[(unsigned int) yy_c];
1584
1595
                        }
1585
1596
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1607
1618
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1608
1619
                {
1609
1620
                yy_current_state = (int) yy_def[yy_current_state];
1610
 
                if ( yy_current_state >= 243 )
 
1621
                if ( yy_current_state >= 246 )
1611
1622
                        yy_c = yy_meta[(unsigned int) yy_c];
1612
1623
                }
1613
1624
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1614
 
        yy_is_jam = (yy_current_state == 242);
 
1625
        yy_is_jam = (yy_current_state == 245);
1615
1626
 
1616
1627
        return yy_is_jam ? 0 : yy_current_state;
1617
1628
}
2301
2312
 
2302
2313
#define YYTABLES_NAME "yytables"
2303
2314
 
2304
 
#line 145 "../../src/scanner.ll"
 
2315
#line 146 "../../src/scanner.ll"
2305
2316
 
2306
2317
 
2307
2318