/[bison]/bison/src/scan-gram.c
ViewVC logotype

Diff of /bison/src/scan-gram.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.14 by akim, Thu Jun 20 07:19:13 2002 UTC revision 1.15 by akim, Thu Jun 20 09:08:37 2002 UTC
# Line 309  static void yy_fatal_error YY_PROTO(( yy Line 309  static void yy_fatal_error YY_PROTO(( yy
309          *yy_cp = '\0'; \          *yy_cp = '\0'; \
310          yy_c_buf_p = yy_cp;          yy_c_buf_p = yy_cp;
311    
312  #define YY_NUM_RULES 97  #define YY_NUM_RULES 98
313  #define YY_END_OF_BUFFER 98  #define YY_END_OF_BUFFER 99
314  static yyconst short int yy_accept[356] =  static yyconst short int yy_accept[361] =
315      {   0,      {   0,
316          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
317          0,    0,    0,    0,    0,    0,    0,    0,   98,   45,          0,    0,    0,    0,    0,    0,    0,    0,   99,   46,
318         34,   33,   33,   38,   45,   37,   35,   45,   36,   30,         35,   34,   34,   39,   46,   38,   36,   46,   37,   31,
319         32,   45,   29,   42,   31,   49,   50,   50,   51,   46,         33,   46,   30,   43,   32,   50,   51,   51,   52,   47,
320         47,   76,   79,   79,   75,   46,   78,   47,   71,   74,         48,   77,   80,   80,   76,   47,   79,   48,   72,   75,
321         74,   70,   73,   53,   54,   54,   52,   69,   56,   57,         75,   71,   74,   54,   55,   55,   53,   70,   57,   58,
322         57,   55,   89,   90,   90,   81,   91,   80,   84,   91,         58,   56,   90,   91,   91,   82,   92,   81,   85,   92,
323         46,   47,   86,   85,   93,   95,   95,   81,   94,   80,         47,   48,   87,   86,   94,   96,   96,   82,   95,   81,
324         84,   96,   96,   96,   81,   80,   84,   34,   33,   33,         85,   97,   97,   97,   82,   81,   85,   35,   34,   34,
325         33,   33,   44,    0,    0,    0,    0,    0,    0,    0,         34,   34,   45,    0,    0,    0,    0,    0,    0,    0,
326    
327          0,    0,    0,    0,    0,    0,    0,   41,   35,   39,          0,    0,    0,    0,    0,    0,    0,   42,   36,   40,
328         40,   36,    0,   49,   50,   50,   50,   50,   48,   76,         41,   37,    0,   50,   51,   51,   51,   51,   49,   77,
329         79,   79,   79,   79,   77,   71,   74,   74,   74,   74,         80,   80,   80,   80,   78,   72,   75,   75,   75,   75,
330         72,   53,   54,   54,   54,   54,   68,   67,   68,   60,         73,   54,   55,   55,   55,   55,   69,   68,   69,   61,
331         61,   62,   63,   64,   65,   66,   68,   57,   57,   57,         62,   63,   64,   65,   66,   67,   69,   58,   58,   58,
332         57,   89,   90,   90,   90,   90,   87,    0,   87,    0,         58,   90,   91,   91,   91,   91,   88,    0,   88,    0,
333         82,   83,   88,    0,   88,   93,   95,   95,   95,   95,         83,   84,   89,    0,   89,   94,   96,   96,   96,   96,
334         92,   96,   96,   96,   96,   96,   82,   83,    0,    0,         93,   97,   97,   97,   97,   97,   83,   84,    0,    0,
335          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
336          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
337    
338         40,   43,    0,    0,    0,   83,   83,   83,    0,    0,         41,   44,    0,    0,    0,   84,   84,   84,    0,    0,
339          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
340          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
341          0,    0,    0,    0,   58,   59,    0,    0,    0,    0,          0,    0,    0,    0,    0,   59,   60,    0,    0,    0,
342          0,    0,    0,    0,    0,   10,    0,    0,    0,    0,          0,    0,    0,    0,    0,    0,   10,    0,    0,    0,
343          0,    0,   17,    0,    0,    0,    0,   22,    0,   25,          0,    0,    0,   17,    0,    0,    0,    0,    0,   23,
344          0,    0,   28,    0,    2,    0,    0,    0,    0,    0,          0,   26,    0,    0,   29,    0,    2,    0,    0,    0,
345          0,    0,    0,    0,    0,   15,    0,    0,   19,    0,          0,    0,    0,    0,    0,    0,    0,   15,    0,    0,
346         21,   23,   26,    0,    1,    3,    0,    0,    7,    0,          0,   20,    0,   22,   24,   27,    0,    1,    3,    0,
347          0,    0,    0,    0,    0,   16,    0,    0,    0,    0,          0,    7,    0,    0,    0,    0,    0,    0,   16,    0,
348    
349          4,    0,    0,    0,    0,    0,    0,    0,    0,    0,          0,    0,    0,    0,    4,    0,    0,    0,    0,    0,
350          0,    0,   27,    0,    0,    0,    0,    0,    0,   13,          0,    0,    0,   18,    0,    0,    0,   28,    0,    0,
351         14,    0,   20,    0,    0,    0,    0,    0,   11,    0,          0,    0,    0,    0,   13,   14,    0,   21,    0,    0,
352          0,    0,    5,    0,    0,    0,    0,    0,    0,    0,          0,    0,    0,   11,    0,    0,    0,    5,    0,    0,
353          8,    0,   12,   18,   24,    0,    0,    6,    0,    0,          0,    0,    0,    0,    0,    8,    0,   12,   19,   25,
354          0,    0,    0,    9,    0          0,    0,    6,    0,    0,    0,    0,    0,    9,    0
355      } ;      } ;
356    
357  static yyconst int yy_ec[256] =  static yyconst int yy_ec[256] =
# Line 395  static yyconst int yy_meta[51] = Line 395  static yyconst int yy_meta[51] =
395          9,    9,    9,    9,    9,    9,    9,    5,    1,    5          9,    9,    9,    9,    9,    9,    9,    5,    1,    5
396      } ;      } ;
397    
398  static yyconst short int yy_base[382] =  static yyconst short int yy_base[387] =
399      {   0,      {   0,
400          0,    0,   48,   51,   58,   61,   83,   86,   73,   94,          0,    0,   48,   51,   58,   61,   83,   86,   73,   94,
401        108,  110,  131,  179,  227,  249,  116,  142,  814,  815,        108,  110,  131,  179,  227,  249,  116,  142,  819,  820,
402        811,   55,   64,  815,  267,  815,    0,   44,   79,  815,        816,   55,   64,  820,  267,  820,    0,   44,   79,  820,
403        815,    0,  815,  815,  815,    0,   97,   99,  800,  815,        820,    0,  820,  820,  820,    0,   97,   99,  805,  820,
404        815,    0,  119,  122,  815,  815,    0,  815,    0,  126,        820,    0,  119,  122,  820,  820,    0,  820,    0,  126,
405        138,  815,    0,    0,  145,  153,  815,  311,  815,  155,        138,  820,    0,    0,  145,  153,  820,  311,  820,  155,
406        157,  815,    0,  159,  164,  815,  159,  815,   62,  164,        157,  820,    0,  159,  164,  820,  159,  820,   62,  164,
407        815,  815,  815,  815,    0,  185,  189,  815,  761,  815,        820,  820,  820,  820,    0,  185,  189,  820,  766,  820,
408        185,  192,  201,  203,  205,  207,  209,  808,  211,  213,        185,  192,  201,  203,  205,  207,  209,  813,  211,  213,
409        216,  219,  815,  775,  778,   86,  773,   49,  198,  762,        216,  219,  820,  780,  783,   86,  778,   49,  198,  767,
410    
411        184,  771,  109,  203,  766,  773,  776,  815,    0,  815,        184,  776,  109,  203,  771,  778,  781,  820,    0,  820,
412          0,  230,  782,    0,  242,  244,  255,  259,  815,    0,          0,  230,  787,    0,  242,  244,  255,  259,  820,    0,
413        261,  263,  265,  272,  815,    0,  274,  276,  278,  280,        261,  263,  265,  272,  820,    0,  274,  276,  278,  280,
414        815,    0,  282,  284,  286,  288,  815,  815,  787,  815,        820,    0,  282,  284,  286,  288,  820,  820,  792,  820,
415        815,  815,  815,  815,  815,  815,    0,  296,  298,  314,        820,  820,  820,  820,  820,  820,    0,  296,  298,  314,
416        316,    0,  318,  322,  324,  326,  815,  318,  322,    0,        316,    0,  318,  322,  324,  326,  820,  318,  322,    0,
417        815,    0,  815,  326,  330,    0,  342,  344,  347,  355,        820,    0,  820,  326,  330,    0,  342,  344,  347,  355,
418        815,  357,  359,  361,  363,  365,  367,  369,  761,  144,        820,  357,  359,  361,  363,  365,  367,  369,  766,  144,
419        757,  757,  144,  765,  767,  757,  364,  763,  749,  761,        762,  762,  144,  770,  772,  762,  364,  768,  754,  168,
420        749,  757,  758,  761,  745,  750,  744,  749,  741,  753,        755,  763,  764,  767,  751,  756,  750,  755,  747,  759,
421    
422          0,  815,  767,    0,  760,    0,  372,  375,  752,  733,          0,  820,  773,    0,  766,    0,  372,  375,  758,  739,
423        742,  732,  735,  743,  742,  741,  727,  743,  738,  731,        748,  738,  741,  749,  748,  747,  733,  749,  744,  737,
424        740,  724,  724,  735,  732,  728,  724,  718,  721,  727,        746,  730,  730,  741,  730,  737,  733,  729,  723,  726,
425        726,  716,  727,  725,  815,  815,  371,  711,  719,  712,        732,  731,  721,  732,  730,  820,  820,  371,  716,  724,
426        708,  707,  719,  736,  716,  815,  701,  230,  709,  700,        717,  713,  712,  724,  741,  721,  820,  706,  230,  714,
427        704,  696,  815,  370,  696,  708,  694,  815,  698,  815,        705,  709,  701,  820,  701,  370,  700,  712,  698,  820,
428        697,  695,  815,  686,  815,  702,  687,  373,  687,  689,        702,  820,  701,  699,  820,  690,  820,  706,  691,  373,
429        376,  694,  687,  688,  683,  815,  681,  683,  815,  653,        691,  693,  376,  698,  691,  692,  687,  820,  685,  697,
430        815,  378,  815,  650,  815,  626,  637,  606,  815,  607,        686,  820,  682,  820,  378,  820,  682,  820,  681,  668,
431        606,  605,  601,  611,  601,  815,  611,  595,  588,  599,        647,  820,  627,  626,  612,  607,  615,  605,  820,  601,
432    
433        815,  585,  597,  596,  557,  562,  569,  536,  546,  532,        615,  601,  594,  604,  820,  588,  599,  598,  583,  588,
434        511,  522,  815,  508,  503,  508,  491,  491,  498,  815,        571,  558,  571,  820,  537,  536,  547,  820,  510,  507,
435        815,  362,  815,  373,  351,  360,  348,  315,  815,  319,        516,  501,  497,  503,  820,  820,  491,  820,  502,  363,
436        311,  297,  815,  284,  267,  260,  249,  252,  242,  228,        373,  358,  347,  820,  348,  325,  317,  820,  302,  287,
437        815,  217,  815,  815,  815,  208,  380,  815,  205,  192,        279,  267,  263,  265,  251,  820,  229,  820,  820,  820,
438        166,   85,   62,  815,  815,  405,  419,  433,  447,  461,        240,  380,  820,  229,  192,  164,   85,   62,  820,  820,
439        475,  489,  503,  189,  517,  531,  545,  557,  571,  583,        405,  419,  433,  447,  461,  475,  489,  503,  227,  517,
440        597,  610,  624,  638,  652,  666,   84,  680,  694,  708,        531,  545,  557,  571,  583,  597,  610,  624,  638,  652,
441         58        666,   84,  680,  694,  708,   58
442      } ;      } ;
443    
444  static yyconst short int yy_def[382] =  static yyconst short int yy_def[387] =
445      {   0,      {   0,
446        355,    1,  356,  356,  357,  357,  358,  358,  359,  359,        360,    1,  361,  361,  362,  362,  363,  363,  364,  364,
447        360,  360,  361,  361,  362,  362,  363,  363,  355,  355,        365,  365,  366,  366,  367,  367,  368,  368,  360,  360,
448        355,  355,  355,  355,  355,  355,  364,  355,  355,  355,        360,  360,  360,  360,  360,  360,  369,  360,  360,  360,
449        355,  365,  355,  355,  355,  366,  355,  355,  355,  355,        360,  370,  360,  360,  360,  371,  360,  360,  360,  360,
450        355,  367,  355,  355,  355,  355,  368,  355,  369,  355,        360,  372,  360,  360,  360,  360,  373,  360,  374,  360,
451        355,  355,  370,  371,  355,  355,  355,  372,  355,  355,        360,  360,  375,  376,  360,  360,  360,  377,  360,  360,
452        355,  355,  373,  355,  355,  355,  355,  355,  355,  355,        360,  360,  378,  360,  360,  360,  360,  360,  360,  360,
453        355,  355,  355,  355,  374,  355,  355,  355,  355,  355,        360,  360,  360,  360,  379,  360,  360,  360,  360,  360,
454        355,  375,  375,  375,  375,  375,  375,  355,  355,  355,        360,  380,  380,  380,  380,  380,  380,  360,  360,  360,
455        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
456    
457        355,  355,  355,  355,  355,  355,  355,  355,  364,  355,        360,  360,  360,  360,  360,  360,  360,  360,  369,  360,
458        376,  355,  365,  366,  355,  355,  355,  355,  355,  367,        381,  360,  370,  371,  360,  360,  360,  360,  360,  372,
459        355,  355,  355,  355,  355,  369,  355,  355,  355,  355,        360,  360,  360,  360,  360,  374,  360,  360,  360,  360,
460        355,  371,  355,  355,  355,  355,  355,  355,  355,  355,        360,  376,  360,  360,  360,  360,  360,  360,  360,  360,
461        355,  355,  355,  355,  355,  355,  377,  355,  355,  355,        360,  360,  360,  360,  360,  360,  382,  360,  360,  360,
462        355,  373,  355,  355,  355,  355,  355,  355,  355,  378,        360,  378,  360,  360,  360,  360,  360,  360,  360,  383,
463        355,  379,  355,  355,  355,  374,  355,  355,  355,  355,        360,  384,  360,  360,  360,  379,  360,  360,  360,  360,
464        355,  375,  375,  375,  375,  375,  375,  380,  355,  355,        360,  380,  380,  380,  380,  380,  380,  385,  360,  360,
465        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
466        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
467    
468        376,  355,  355,  381,  378,  379,  380,  380,  355,  355,        381,  360,  360,  386,  383,  384,  385,  385,  360,  360,
469        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
470        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
471        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
472        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
473        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
474        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
475        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
476        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
477        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
478    
479        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
480        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
481        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
482        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
483        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
484        355,  355,  355,  355,    0,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,    0,
485        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
486        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
487        355        360,  360,  360,  360,  360,  360
488      } ;      } ;
489    
490  static yyconst short int yy_nxt[866] =  static yyconst short int yy_nxt[871] =
491      {   0,      {   0,
492         20,   21,   22,   23,   24,   20,   25,   26,   20,   20,         20,   21,   22,   23,   24,   20,   25,   26,   20,   20,
493         27,   28,   29,   29,   30,   31,   32,   33,   20,   20,         27,   28,   29,   29,   30,   31,   32,   33,   20,   20,
# Line 495  static yyconst short int yy_nxt[866] = Line 495  static yyconst short int yy_nxt[866] =
495         27,   27,   27,   27,   27,   27,   27,   27,   27,   27,         27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
496         27,   27,   27,   27,   27,   27,   27,   34,   35,   20,         27,   27,   27,   27,   27,   27,   27,   34,   35,   20,
497         37,   38,  110,   37,   38,  111,   39,   89,   90,   39,         37,   38,  110,   37,   38,  111,   39,   89,   90,   39,
498         43,   44,   45,   43,   44,   45,   91,   92,  236,   40,         43,   44,   45,   43,   44,   45,   91,   92,  237,   40,
499        161,   41,   40,  162,   41,   55,   56,   57,  184,   46,        161,   41,   40,  162,   41,   55,   56,   57,  184,   46,
500         47,   48,   46,   47,   48,   50,   51,  185,   50,   51,         47,   48,   46,   47,   48,   50,   51,  185,   50,   51,
501         52,  112,  112,   52,  204,   58,   55,   56,   57,  115,         52,  112,  112,   52,  204,   58,   55,   56,   57,  115,
502    
503        116,  117,  118,  354,   46,   53,   48,   46,   53,   48,        116,  117,  118,  359,   46,   53,   48,   46,   53,   48,
504         60,   61,   60,   61,  353,   62,   58,   62,   83,   84,         60,   61,   60,   61,  358,   62,   58,   62,   83,   84,
505         85,  121,  122,   86,  123,  124,  181,   87,  127,  128,         85,  121,  122,   86,  123,  124,  181,   87,  127,  128,
506         58,  182,   58,   64,   65,   66,   67,   46,   68,   48,         58,  182,   58,   64,   65,   66,   67,   46,   68,   48,
507        129,  130,   69,  193,   83,   84,   85,  133,  134,   86,        129,  130,   69,  193,   83,   84,   85,  133,  134,   86,
# Line 509  static yyconst short int yy_nxt[866] = Line 509  static yyconst short int yy_nxt[866] =
509        151,  153,  154,   46,  157,   48,  155,  156,  158,  163,        151,  153,  154,   46,  157,   48,  155,  156,  158,  163,
510        210,  159,  159,  164,  211,  160,  165,  165,   73,  215,        210,  159,  159,  164,  211,  160,  165,  165,   73,  215,
511         74,   64,   65,   66,   67,  212,   68,  167,  168,  216,         74,   64,   65,   66,   67,  212,   68,  167,  168,  216,
512         69,  169,  170,  161,  173,  174,  162,  109,   70,  109,         69,  169,  170,  161,  173,  174,  162,  224,   70,  357,
513    
514         71,  352,   72,  173,  175,  176,  174,  173,  174,  173,         71,  225,   72,  173,  175,  176,  174,  173,  174,  173,
515        174,  173,  174,   89,   90,   91,   92,  177,   89,   90,        174,  173,  174,   89,   90,   91,   92,  177,   89,   90,
516        178,   91,   92,  186,  190,  351,   73,  191,   74,   76,        178,   91,   92,  186,  190,  356,   73,  191,   74,   76,
517         77,   78,  195,   79,   80,  350,  187,  348,   81,  273,         77,   78,  195,   79,   80,  109,  187,  109,   81,  275,
518        188,  196,  112,  112,  115,  116,  117,  118,   46,  197,        188,  196,  112,  112,  115,  116,  117,  118,   46,  197,
519         48,   76,   77,   78,  273,   79,   80,  115,  116,  347,         48,   76,   77,   78,  275,   79,   80,  115,  116,  355,
520         81,  117,  118,  121,  122,  123,  124,  121,  122,  346,         81,  117,  118,  121,  122,  123,  124,  121,  122,  353,
521         46,  345,   48,   93,  123,  124,  127,  128,  129,  130,         46,  352,   48,   93,  123,  124,  127,  128,  129,  130,
522        127,  128,  129,  130,  133,  134,  135,  136,  133,  134,        127,  128,  129,  130,  133,  134,  135,  136,  133,  134,
523        135,  136,  344,   94,  343,   95,   96,   97,  148,  149,        135,  136,  351,   94,  350,   95,   96,   97,  148,  149,
524    
525        150,  151,   98,  342,   99,  100,  101,  102,  103,  104,        150,  151,   98,  349,   99,  100,  101,  102,  103,  104,
526        105,  106,  341,  107,  108,  138,  148,  149,  150,  151,        105,  106,  348,  107,  108,  138,  148,  149,  150,  151,
527        153,  154,  340,  139,  155,  156,  153,  154,  155,  156,        153,  154,  347,  139,  155,  156,  153,  154,  155,  156,
528        159,  159,  339,  138,  159,  159,  140,  141,  165,  165,        159,  159,  346,  138,  159,  159,  140,  141,  165,  165,
529        338,  142,  165,  165,  167,  168,  169,  170,  143,  167,        345,  142,  165,  165,  167,  168,  169,  170,  143,  167,
530        168,  144,  337,  145,  336,  146,  147,  169,  170,  173,        168,  144,  344,  145,  343,  146,  147,  169,  170,  173,
531        174,  173,  175,  176,  174,  176,  174,  173,  175,  173,        174,  173,  175,  176,  174,  176,  174,  173,  175,  173,
532        174,  173,  208,  220,  173,  208,  157,  176,  208,  278,        174,  173,  208,  220,  173,  208,  157,  176,  208,  281,
533        158,  335,  288,  159,  159,  291,  334,  299,  220,  349,        158,  342,  291,  159,  159,  294,  341,  303,  220,  354,
534        206,  333,  206,  206,  278,  206,  206,  288,  206,  332,        206,  340,  206,  206,  281,  206,  206,  291,  206,  339,
535    
536        291,  221,  299,  331,  349,   36,   36,   36,   36,   36,        294,  221,  303,  338,  354,   36,   36,   36,   36,   36,
537         36,   36,   36,   36,   36,   36,   36,   36,   36,   42,         36,   36,   36,   36,   36,   36,   36,   36,   36,   42,
538         42,   42,   42,   42,   42,   42,   42,   42,   42,   42,         42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
539         42,   42,   42,   49,   49,   49,   49,   49,   49,   49,         42,   42,   42,   49,   49,   49,   49,   49,   49,   49,
# Line 546  static yyconst short int yy_nxt[866] = Line 546  static yyconst short int yy_nxt[866] =
546    
547         75,   75,   75,   82,   82,   82,   82,   82,   82,   82,         75,   75,   75,   82,   82,   82,   82,   82,   82,   82,
548         82,   82,   82,   82,   82,   82,   82,  113,  113,  113,         82,   82,   82,   82,   82,   82,   82,  113,  113,  113,
549        113,  113,  113,  113,  113,  113,  113,  113,  330,  113,        113,  113,  113,  113,  113,  113,  113,  113,  337,  113,
550        113,  114,  329,  328,  114,  114,  114,  114,  327,  114,        113,  114,  336,  335,  114,  114,  114,  114,  334,  114,
551        114,  114,  114,  326,  114,  120,  325,  324,  323,  120,        114,  114,  114,  333,  114,  120,  332,  331,  330,  120,
552        120,  120,  120,  120,  120,  120,  120,  125,  125,  125,        120,  120,  120,  120,  120,  120,  120,  125,  125,  125,
553        125,  125,  125,  125,  125,  125,  125,  125,  125,  125,        125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
554        125,  126,  322,  321,  126,  126,  126,  320,  126,  126,        125,  126,  329,  328,  126,  126,  126,  327,  126,  126,
555        126,  126,  126,  131,  131,  131,  131,  131,  131,  131,        126,  126,  126,  131,  131,  131,  131,  131,  131,  131,
556        131,  131,  131,  131,  131,  131,  131,  132,  319,  318,        131,  131,  131,  131,  131,  131,  131,  132,  326,  325,
557    
558        317,  132,  132,  132,  132,  132,  132,  132,  132,  132,        324,  132,  132,  132,  132,  132,  132,  132,  132,  132,
559        137,  137,  137,  137,  137,  137,  137,  137,  137,  137,        137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
560        137,  137,  137,  137,  152,  316,  315,  314,  313,  152,        137,  137,  137,  137,  152,  323,  322,  321,  320,  152,
561        312,  152,  152,  311,  152,  152,  310,  152,  166,  309,        319,  152,  152,  318,  152,  152,  317,  152,  166,  316,
562        308,  307,  166,  306,  305,  166,  166,  304,  166,  166,        315,  314,  166,  313,  312,  166,  166,  311,  166,  166,
563        303,  166,  172,  172,  172,  172,  172,  172,  172,  172,        310,  166,  172,  172,  172,  172,  172,  172,  172,  172,
564        172,  172,  172,  172,  302,  172,  201,  301,  201,  201,        172,  172,  172,  172,  309,  172,  201,  308,  201,  201,
565        201,  201,  201,  201,  201,  201,  201,  201,  201,  201,        201,  201,  201,  201,  201,  201,  201,  201,  201,  201,
566        205,  205,  205,  205,  205,  205,  205,  205,  205,  205,        205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
567        205,  300,  205,  205,  206,  298,  206,  206,  206,  206,        205,  307,  205,  205,  206,  306,  206,  206,  206,  206,
568    
569        206,  206,  206,  206,  206,  206,  206,  206,  207,  207,        206,  206,  206,  206,  206,  206,  206,  206,  207,  207,
570        207,  207,  207,  207,  207,  207,  207,  207,  207,  207,        207,  207,  207,  207,  207,  207,  207,  207,  207,  207,
571        207,  207,  297,  296,  295,  294,  293,  292,  290,  289,        207,  207,  305,  304,  302,  301,  300,  299,  298,  297,
572        287,  286,  285,  284,  283,  282,  281,  280,  279,  277,        296,  295,  293,  292,  290,  289,  288,  287,  286,  285,
573        276,  275,  274,  272,  271,  270,  269,  268,  267,  266,        284,  283,  282,  280,  279,  278,  277,  276,  274,  273,
574        265,  264,  263,  262,  261,  260,  259,  258,  257,  256,        272,  271,  270,  269,  268,  267,  266,  265,  264,  263,
575        255,  254,  253,  252,  251,  250,  249,  248,  247,  246,        262,  261,  260,  259,  258,  257,  256,  255,  254,  253,
576        245,  244,  243,  242,  241,  240,  239,  238,  237,  235,        252,  251,  250,  249,  248,  247,  246,  245,  244,  243,
577        234,  233,  232,  231,  230,  229,  228,  227,  226,  225,        242,  241,  240,  239,  238,  236,  235,  234,  233,  232,
578        224,  223,  222,  219,  218,  217,  214,  213,  209,  203,        231,  230,  229,  228,  227,  226,  223,  222,  219,  218,
579    
580        202,  200,  199,  198,  192,  189,  183,  180,  179,   88,        217,  214,  213,  209,  203,  202,  200,  199,  198,  192,
581        171,  119,   88,  355,   19,  355,  355,  355,  355,  355,        189,  183,  180,  179,   88,  171,  119,   88,  360,   19,
582        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
583        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
584        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
585        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
586        355,  355,  355,  355,  355        360,  360,  360,  360,  360,  360,  360,  360,  360,  360
587      } ;      } ;
588    
589  static yyconst short int yy_chk[866] =  static yyconst short int yy_chk[871] =
590      {   0,      {   0,
591          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
592          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
# Line 594  static yyconst short int yy_chk[866] = Line 594  static yyconst short int yy_chk[866] =
594          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
595          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
596          3,    3,   28,    4,    4,   28,    3,   22,   22,    4,          3,    3,   28,    4,    4,   28,    3,   22,   22,    4,
597          5,    5,    5,    6,    6,    6,   23,   23,  381,    3,          5,    5,    5,    6,    6,    6,   23,   23,  386,    3,
598         69,    3,    4,   69,    4,    9,    9,    9,   98,    5,         69,    3,    4,   69,    4,    9,    9,    9,   98,    5,
599          5,    5,    6,    6,    6,    7,    7,   98,    8,    8,          5,    5,    6,    6,    6,    7,    7,   98,    8,    8,
600          7,   29,   29,    8,  377,    9,   10,   10,   10,   37,          7,   29,   29,    8,  382,    9,   10,   10,   10,   37,
601    
602         37,   38,   38,  353,    7,    7,    7,    8,    8,    8,         37,   38,   38,  358,    7,    7,    7,    8,    8,    8,
603         11,   11,   12,   12,  352,   11,   10,   12,   17,   17,         11,   11,   12,   12,  357,   11,   10,   12,   17,   17,
604         17,   43,   43,   17,   44,   44,   96,   17,   50,   50,         17,   43,   43,   17,   44,   44,   96,   17,   50,   50,
605         11,   96,   12,   13,   13,   13,   13,   17,   13,   17,         11,   96,   12,   13,   13,   13,   13,   17,   13,   17,
606         51,   51,   13,  103,   18,   18,   18,   55,   55,   18,         51,   51,   13,  103,   18,   18,   18,   55,   55,   18,
# Line 608  static yyconst short int yy_chk[866] = Line 608  static yyconst short int yy_chk[866] =
608         61,   64,   64,   18,   67,   18,   65,   65,   67,   70,         61,   64,   64,   18,   67,   18,   65,   65,   67,   70,
609        180,   67,   67,   70,  180,   67,   70,   70,   13,  183,        180,   67,   67,   70,  180,   67,   70,   70,   13,  183,
610         13,   14,   14,   14,   14,  180,   14,   76,   76,  183,         13,   14,   14,   14,   14,  180,   14,   76,   76,  183,
611         14,   77,   77,   81,   82,   82,   81,  364,   14,  364,         14,   77,   77,   81,   82,   82,   81,  190,   14,  356,
612    
613         14,  351,   14,   83,   83,   84,   84,   85,   85,   86,         14,  190,   14,   83,   83,   84,   84,   85,   85,   86,
614         86,   87,   87,   89,   89,   90,   90,   87,   91,   91,         86,   87,   87,   89,   89,   90,   90,   87,   91,   91,
615         87,   92,   92,   99,  101,  350,   14,  101,   14,   15,         87,   92,   92,   99,  101,  355,   14,  101,   14,   15,
616         15,   15,  104,   15,   15,  349,   99,  346,   15,  248,         15,   15,  104,   15,   15,  369,   99,  369,   15,  249,
617         99,  104,  112,  112,  115,  115,  116,  116,   15,  104,         99,  104,  112,  112,  115,  115,  116,  116,   15,  104,
618         15,   16,   16,   16,  248,   16,   16,  117,  117,  342,         15,   16,   16,   16,  249,   16,   16,  117,  117,  354,
619         16,  118,  118,  121,  121,  122,  122,  123,  123,  340,         16,  118,  118,  121,  121,  122,  122,  123,  123,  351,
620         16,  339,   16,   25,  124,  124,  127,  127,  128,  128,         16,  347,   16,   25,  124,  124,  127,  127,  128,  128,
621        129,  129,  130,  130,  133,  133,  134,  134,  135,  135,        129,  129,  130,  130,  133,  133,  134,  134,  135,  135,
622        136,  136,  338,   25,  337,   25,   25,   25,  148,  148,        136,  136,  345,   25,  344,   25,   25,   25,  148,  148,
623    
624        149,  149,   25,  336,   25,   25,   25,   25,   25,   25,        149,  149,   25,  343,   25,   25,   25,   25,   25,   25,
625         25,   25,  335,   25,   25,   58,  150,  150,  151,  151,         25,   25,  342,   25,   25,   58,  150,  150,  151,  151,
626        153,  153,  334,   58,  154,  154,  155,  155,  156,  156,        153,  153,  341,   58,  154,  154,  155,  155,  156,  156,
627        158,  158,  332,   58,  159,  159,   58,   58,  164,  164,        158,  158,  340,   58,  159,  159,   58,   58,  164,  164,
628        331,   58,  165,  165,  167,  167,  168,  168,   58,  169,        339,   58,  165,  165,  167,  167,  168,  168,   58,  169,
629        169,   58,  330,   58,  328,   58,   58,  170,  170,  172,        169,   58,  337,   58,  336,   58,   58,  170,  170,  172,
630        172,  173,  173,  174,  174,  175,  175,  176,  176,  177,        172,  173,  173,  174,  174,  175,  175,  176,  176,  177,
631        177,  178,  178,  187,  207,  207,  237,  208,  208,  254,        177,  178,  178,  187,  207,  207,  238,  208,  208,  256,
632        237,  327,  268,  237,  237,  271,  326,  282,  187,  347,        238,  335,  270,  238,  238,  273,  333,  285,  187,  352,
633        178,  325,  178,  207,  254,  207,  208,  268,  208,  324,        178,  332,  178,  207,  256,  207,  208,  270,  208,  331,
634    
635        271,  187,  282,  322,  347,  356,  356,  356,  356,  356,        273,  187,  285,  330,  352,  361,  361,  361,  361,  361,
       356,  356,  356,  356,  356,  356,  356,  356,  356,  357,  
       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,  
       357,  357,  357,  358,  358,  358,  358,  358,  358,  358,  
       358,  358,  358,  358,  358,  358,  358,  359,  359,  359,  
       359,  359,  359,  359,  359,  359,  359,  359,  359,  359,  
       359,  360,  360,  360,  360,  360,  360,  360,  360,  360,  
       360,  360,  360,  360,  360,  361,  361,  361,  361,  361,  
636        361,  361,  361,  361,  361,  361,  361,  361,  361,  362,        361,  361,  361,  361,  361,  361,  361,  361,  361,  362,
637        362,  362,  362,  362,  362,  362,  362,  362,  362,  362,        362,  362,  362,  362,  362,  362,  362,  362,  362,  362,
   
638        362,  362,  362,  363,  363,  363,  363,  363,  363,  363,        362,  362,  362,  363,  363,  363,  363,  363,  363,  363,
639        363,  363,  363,  363,  363,  363,  363,  365,  365,  365,        363,  363,  363,  363,  363,  363,  363,  364,  364,  364,
640        365,  365,  365,  365,  365,  365,  365,  365,  319,  365,        364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
641        365,  366,  318,  317,  366,  366,  366,  366,  316,  366,        364,  365,  365,  365,  365,  365,  365,  365,  365,  365,
642        366,  366,  366,  315,  366,  367,  314,  312,  311,  367,        365,  365,  365,  365,  365,  366,  366,  366,  366,  366,
643        367,  367,  367,  367,  367,  367,  367,  368,  368,  368,        366,  366,  366,  366,  366,  366,  366,  366,  366,  367,
644        368,  368,  368,  368,  368,  368,  368,  368,  368,  368,        367,  367,  367,  367,  367,  367,  367,  367,  367,  367,
645        368,  369,  310,  309,  369,  369,  369,  308,  369,  369,  
646        369,  369,  369,  370,  370,  370,  370,  370,  370,  370,        367,  367,  367,  368,  368,  368,  368,  368,  368,  368,
647        370,  370,  370,  370,  370,  370,  370,  371,  307,  306,        368,  368,  368,  368,  368,  368,  368,  370,  370,  370,
648          370,  370,  370,  370,  370,  370,  370,  370,  329,  370,
649        305,  371,  371,  371,  371,  371,  371,  371,  371,  371,        370,  371,  327,  324,  371,  371,  371,  371,  323,  371,
650        372,  372,  372,  372,  372,  372,  372,  372,  372,  372,        371,  371,  371,  322,  371,  372,  321,  320,  319,  372,
651        372,  372,  372,  372,  373,  304,  303,  302,  300,  373,        372,  372,  372,  372,  372,  372,  372,  373,  373,  373,
652        299,  373,  373,  298,  373,  373,  297,  373,  374,  295,        373,  373,  373,  373,  373,  373,  373,  373,  373,  373,
653        294,  293,  374,  292,  291,  374,  374,  290,  374,  374,        373,  374,  317,  316,  374,  374,  374,  315,  374,  374,
654        288,  374,  375,  375,  375,  375,  375,  375,  375,  375,        374,  374,  374,  375,  375,  375,  375,  375,  375,  375,
655        375,  375,  375,  375,  287,  375,  376,  286,  376,  376,        375,  375,  375,  375,  375,  375,  375,  376,  313,  312,
656        376,  376,  376,  376,  376,  376,  376,  376,  376,  376,  
657        378,  378,  378,  378,  378,  378,  378,  378,  378,  378,        311,  376,  376,  376,  376,  376,  376,  376,  376,  376,
658        378,  284,  378,  378,  379,  280,  379,  379,  379,  379,        377,  377,  377,  377,  377,  377,  377,  377,  377,  377,
659          377,  377,  377,  377,  378,  310,  309,  308,  307,  378,
660        379,  379,  379,  379,  379,  379,  379,  379,  380,  380,        306,  378,  378,  304,  378,  378,  303,  378,  379,  302,
661        380,  380,  380,  380,  380,  380,  380,  380,  380,  380,        301,  300,  379,  298,  297,  379,  379,  296,  379,  379,
662        380,  380,  278,  277,  275,  274,  273,  272,  270,  269,        295,  379,  380,  380,  380,  380,  380,  380,  380,  380,
663        267,  266,  264,  262,  261,  259,  257,  256,  255,  252,        380,  380,  380,  380,  294,  380,  381,  293,  381,  381,
664        251,  250,  249,  247,  245,  244,  243,  242,  241,  240,        381,  381,  381,  381,  381,  381,  381,  381,  381,  381,
665        239,  238,  234,  233,  232,  231,  230,  229,  228,  227,        383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
666        226,  225,  224,  223,  222,  221,  220,  219,  218,  217,        383,  291,  383,  383,  384,  290,  384,  384,  384,  384,
667        216,  215,  214,  213,  212,  211,  210,  209,  205,  203,  
668        200,  199,  198,  197,  196,  195,  194,  193,  192,  191,        384,  384,  384,  384,  384,  384,  384,  384,  385,  385,
669        190,  189,  188,  186,  185,  184,  182,  181,  179,  139,        385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
670          385,  385,  289,  287,  283,  281,  280,  279,  277,  276,
671        113,  107,  106,  105,  102,  100,   97,   95,   94,   88,        275,  274,  272,  271,  269,  268,  266,  264,  263,  261,
672         79,   39,   21,   19,  355,  355,  355,  355,  355,  355,        259,  258,  257,  255,  253,  252,  251,  250,  248,  246,
673        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        245,  244,  243,  242,  241,  240,  239,  235,  234,  233,
674        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        232,  231,  230,  229,  228,  227,  226,  225,  224,  223,
675        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        222,  221,  220,  219,  218,  217,  216,  215,  214,  213,
676        355,  355,  355,  355,  355,  355,  355,  355,  355,  355,        212,  211,  210,  209,  205,  203,  200,  199,  198,  197,
677        355,  355,  355,  355,  355        196,  195,  194,  193,  192,  191,  189,  188,  186,  185,
678    
679          184,  182,  181,  179,  139,  113,  107,  106,  105,  102,
680          100,   97,   95,   94,   88,   79,   39,   21,   19,  360,
681          360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
682          360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
683          360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
684          360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
685          360,  360,  360,  360,  360,  360,  360,  360,  360,  360
686      } ;      } ;
687    
688  static yy_state_type yy_last_accepting_state;  static yy_state_type yy_last_accepting_state;
# Line 691  static char *yy_last_accepting_cpos; Line 691  static char *yy_last_accepting_cpos;
691  extern int yy_flex_debug;  extern int yy_flex_debug;
692  int yy_flex_debug = 1;  int yy_flex_debug = 1;
693    
694  static yyconst short int yy_rule_linenum[97] =  static yyconst short int yy_rule_linenum[98] =
695      {   0,      {   0,
696        122,  123,  124,  125,  126,  127,  128,  129,  130,  131,        122,  123,  124,  125,  126,  127,  128,  129,  130,  131,
697        132,  133,  134,  135,  136,  137,  138,  139,  140,  141,        132,  133,  134,  135,  136,  137,  138,  139,  140,  141,
698        142,  143,  144,  145,  146,  147,  148,  149,  151,  152,        142,  143,  144,  145,  146,  147,  148,  149,  150,  152,
699        153,  154,  156,  157,  158,  163,  166,  169,  172,  173,        153,  154,  155,  157,  158,  159,  164,  167,  170,  173,
700        176,  179,  182,  190,  196,  212,  213,  224,  236,  237,        174,  177,  180,  183,  191,  197,  213,  214,  225,  237,
701        238,  255,  264,  266,  286,  300,  302,  322,  334,  338,        238,  239,  256,  265,  267,  287,  301,  303,  323,  335,
702        339,  340,  341,  342,  343,  344,  345,  346,  352,  363,        339,  340,  341,  342,  343,  344,  345,  346,  347,  353,
703        369,  370,  372,  374,  392,  398,  399,  401,  403,  421,        364,  370,  371,  373,  375,  393,  399,  400,  402,  404,
704        424,  427,  428,  431,  442,  453,  455,  457,  460,  461,        422,  425,  428,  429,  432,  443,  454,  456,  458,  461,
705        464,  484,  491,  492,  493,  513        462,  465,  485,  492,  493,  494,  514
706    
707      } ;      } ;
708    
# Line 1049  yy_match: Line 1049  yy_match:
1049                          while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )                          while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1050                                  {                                  {
1051                                  yy_current_state = (int) yy_def[yy_current_state];                                  yy_current_state = (int) yy_def[yy_current_state];
1052                                  if ( yy_current_state >= 356 )                                  if ( yy_current_state >= 361 )
1053                                          yy_c = yy_meta[(unsigned int) yy_c];                                          yy_c = yy_meta[(unsigned int) yy_c];
1054                                  }                                  }
1055                          yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];                          yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1056                          ++yy_cp;                          ++yy_cp;
1057                          }                          }
1058                  while ( yy_base[yy_current_state] != 815 );                  while ( yy_base[yy_current_state] != 820 );
1059    
1060  yy_find_action:  yy_find_action:
1061                  yy_act = yy_accept[yy_current_state];                  yy_act = yy_accept[yy_current_state];
# Line 1075  do_action:     /* This label is used only to Line 1075  do_action:     /* This label is used only to
1075                          {                          {
1076                          if ( yy_act == 0 )                          if ( yy_act == 0 )
1077                                  fprintf( stderr, "--scanner backing up\n" );                                  fprintf( stderr, "--scanner backing up\n" );
1078                          else if ( yy_act < 97 )                          else if ( yy_act < 98 )
1079                                  fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",                                  fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
1080                                           yy_rule_linenum[yy_act], yytext );                                           yy_rule_linenum[yy_act], yytext );
1081                          else if ( yy_act == 97 )                          else if ( yy_act == 98 )
1082                                  fprintf( stderr, "--accepting default rule (\"%s\")\n",                                  fprintf( stderr, "--accepting default rule (\"%s\")\n",
1083                                           yytext );                                           yytext );
1084                          else if ( yy_act == 98 )                          else if ( yy_act == 99 )
1085                                  fprintf( stderr, "--(end of buffer or a NUL)\n" );                                  fprintf( stderr, "--(end of buffer or a NUL)\n" );
1086                          else                          else
1087                                  fprintf( stderr, "--EOF (start condition %d)\n", YY_START );                                  fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
# Line 1186  return PERCENT_PREC; Line 1186  return PERCENT_PREC;
1186  case 18:  case 18:
1187  YY_RULE_SETUP  YY_RULE_SETUP
1188  #line 139 "scan-gram.l"  #line 139 "scan-gram.l"
1189  return PERCENT_PURE_PARSER;  return PERCENT_PRINTER;
1190          YY_BREAK          YY_BREAK
1191  case 19:  case 19:
1192  YY_RULE_SETUP  YY_RULE_SETUP
1193  #line 140 "scan-gram.l"  #line 140 "scan-gram.l"
1194  return PERCENT_RIGHT;  return PERCENT_PURE_PARSER;
1195          YY_BREAK          YY_BREAK
1196  case 20:  case 20:
1197  YY_RULE_SETUP  YY_RULE_SETUP
1198  #line 141 "scan-gram.l"  #line 141 "scan-gram.l"
1199  return PERCENT_SKELETON;  return PERCENT_RIGHT;
1200          YY_BREAK          YY_BREAK
1201  case 21:  case 21:
1202  YY_RULE_SETUP  YY_RULE_SETUP
1203  #line 142 "scan-gram.l"  #line 142 "scan-gram.l"
1204  return PERCENT_START;  return PERCENT_SKELETON;
1205          YY_BREAK          YY_BREAK
1206  case 22:  case 22:
1207  YY_RULE_SETUP  YY_RULE_SETUP
1208  #line 143 "scan-gram.l"  #line 143 "scan-gram.l"
1209  return PERCENT_TOKEN;  return PERCENT_START;
1210          YY_BREAK          YY_BREAK
1211  case 23:  case 23:
1212  YY_RULE_SETUP  YY_RULE_SETUP
# Line 1216  return PERCENT_TOKEN; Line 1216  return PERCENT_TOKEN;
1216  case 24:  case 24:
1217  YY_RULE_SETUP  YY_RULE_SETUP
1218  #line 145 "scan-gram.l"  #line 145 "scan-gram.l"
1219  return PERCENT_TOKEN_TABLE;  return PERCENT_TOKEN;
1220          YY_BREAK          YY_BREAK
1221  case 25:  case 25:
1222  YY_RULE_SETUP  YY_RULE_SETUP
1223  #line 146 "scan-gram.l"  #line 146 "scan-gram.l"
1224  return PERCENT_TYPE;  return PERCENT_TOKEN_TABLE;
1225          YY_BREAK          YY_BREAK
1226  case 26:  case 26:
1227  YY_RULE_SETUP  YY_RULE_SETUP
1228  #line 147 "scan-gram.l"  #line 147 "scan-gram.l"
1229  return PERCENT_UNION;  return PERCENT_TYPE;
1230          YY_BREAK          YY_BREAK
1231  case 27:  case 27:
1232  YY_RULE_SETUP  YY_RULE_SETUP
1233  #line 148 "scan-gram.l"  #line 148 "scan-gram.l"
1234  return PERCENT_VERBOSE;  return PERCENT_UNION;
1235          YY_BREAK          YY_BREAK
1236  case 28:  case 28:
1237  YY_RULE_SETUP  YY_RULE_SETUP
1238  #line 149 "scan-gram.l"  #line 149 "scan-gram.l"
1239  return PERCENT_YACC;  return PERCENT_VERBOSE;
1240          YY_BREAK          YY_BREAK
1241  case 29:  case 29:
1242  YY_RULE_SETUP  YY_RULE_SETUP
1243  #line 151 "scan-gram.l"  #line 150 "scan-gram.l"
1244  return EQUAL;  return PERCENT_YACC;
1245          YY_BREAK          YY_BREAK
1246  case 30:  case 30:
1247  YY_RULE_SETUP  YY_RULE_SETUP
1248  #line 152 "scan-gram.l"  #line 152 "scan-gram.l"
1249  return COLON;  return EQUAL;
1250          YY_BREAK          YY_BREAK
1251  case 31:  case 31:
1252  YY_RULE_SETUP  YY_RULE_SETUP
1253  #line 153 "scan-gram.l"  #line 153 "scan-gram.l"
1254  return PIPE;  return COLON;
1255          YY_BREAK          YY_BREAK
1256  case 32:  case 32:
1257  YY_RULE_SETUP  YY_RULE_SETUP
1258  #line 154 "scan-gram.l"  #line 154 "scan-gram.l"
1259  return SEMICOLON;  return PIPE;
1260          YY_BREAK          YY_BREAK
1261  case 33:  case 33:
1262  YY_RULE_SETUP  YY_RULE_SETUP
1263  #line 156 "scan-gram.l"  #line 155 "scan-gram.l"
1264  YY_LINES; YY_STEP;  return SEMICOLON;
1265          YY_BREAK          YY_BREAK
1266  case 34:  case 34:
1267  YY_RULE_SETUP  YY_RULE_SETUP
1268  #line 157 "scan-gram.l"  #line 157 "scan-gram.l"
1269  YY_STEP;  YY_LINES; YY_STEP;
1270          YY_BREAK          YY_BREAK
1271  case 35:  case 35:
1272  YY_RULE_SETUP  YY_RULE_SETUP
1273  #line 158 "scan-gram.l"  #line 158 "scan-gram.l"
1274    YY_STEP;
1275            YY_BREAK
1276    case 36:
1277    YY_RULE_SETUP
1278    #line 159 "scan-gram.l"
1279  {  {
1280      yylval->symbol = getsym (yytext, *yylloc);      yylval->symbol = getsym (yytext, *yylloc);
1281      return ID;      return ID;
1282    }    }
1283          YY_BREAK          YY_BREAK
1284  case 36:  case 37:
1285  YY_RULE_SETUP  YY_RULE_SETUP
1286  #line 163 "scan-gram.l"  #line 164 "scan-gram.l"
1287  yylval->integer = strtol (yytext, 0, 10); return INT;  yylval->integer = strtol (yytext, 0, 10); return INT;
1288          YY_BREAK          YY_BREAK
1289  /* Characters.  We don't check there is only one.  */  /* Characters.  We don't check there is only one.  */
1290  case 37:  case 38:
1291  YY_RULE_SETUP  YY_RULE_SETUP
1292  #line 166 "scan-gram.l"  #line 167 "scan-gram.l"
1293  YY_OBS_GROW; yy_push_state (SC_ESCAPED_CHARACTER);  YY_OBS_GROW; yy_push_state (SC_ESCAPED_CHARACTER);
1294          YY_BREAK          YY_BREAK
1295  /* Strings. */  /* Strings. */
1296  case 38:  case 39:
1297  YY_RULE_SETUP  YY_RULE_SETUP
1298  #line 169 "scan-gram.l"  #line 170 "scan-gram.l"
1299  YY_OBS_GROW; yy_push_state (SC_ESCAPED_STRING);  YY_OBS_GROW; yy_push_state (SC_ESCAPED_STRING);
1300          YY_BREAK          YY_BREAK
1301  /* Comments. */  /* Comments. */
1302  case 39:  case 40:
1303  YY_RULE_SETUP  YY_RULE_SETUP
1304  #line 172 "scan-gram.l"  #line 173 "scan-gram.l"
1305  yy_push_state (SC_COMMENT);  yy_push_state (SC_COMMENT);
1306          YY_BREAK          YY_BREAK
1307  case 40:  case 41:
1308  YY_RULE_SETUP  YY_RULE_SETUP
1309  #line 173 "scan-gram.l"  #line 174 "scan-gram.l"
1310  YY_STEP;  YY_STEP;
1311          YY_BREAK          YY_BREAK
1312  /* Prologue. */  /* Prologue. */
1313  case 41:  case 42:
1314  YY_RULE_SETUP  YY_RULE_SETUP
1315  #line 176 "scan-gram.l"  #line 177 "scan-gram.l"
1316  yy_push_state (SC_PROLOGUE);  yy_push_state (SC_PROLOGUE);
1317          YY_BREAK          YY_BREAK
1318  /* Code in between braces.  */  /* Code in between braces.  */
1319  case 42:  case 43:
1320  YY_RULE_SETUP  YY_RULE_SETUP
1321  #line 179 "scan-gram.l"  #line 180 "scan-gram.l"
1322  YY_OBS_GROW; ++braces_level; yy_push_state (SC_BRACED_CODE);  YY_OBS_GROW; ++braces_level; yy_push_state (SC_BRACED_CODE);
1323          YY_BREAK          YY_BREAK
1324  /* A type. */  /* A type. */
1325  case 43:  case 44:
1326  YY_RULE_SETUP  YY_RULE_SETUP
1327  #line 182 "scan-gram.l"  #line 183 "scan-gram.l"
1328  {  {
1329      obstack_grow (&string_obstack, yytext + 1, yyleng - 2);      obstack_grow (&string_obstack, yytext + 1, yyleng - 2);
1330      YY_OBS_FINISH;      YY_OBS_FINISH;
# Line 1327  YY_RULE_SETUP Line 1332  YY_RULE_SETUP
1332      return TYPE;      return TYPE;
1333    }    }
1334          YY_BREAK          YY_BREAK
1335  case 44:  case 45:
1336  YY_RULE_SETUP  YY_RULE_SETUP
1337  #line 190 "scan-gram.l"  #line 191 "scan-gram.l"
1338  {  {
1339      if (++percent_percent_count == 2)      if (++percent_percent_count == 2)
1340        yy_push_state (SC_EPILOGUE);        yy_push_state (SC_EPILOGUE);
1341      return PERCENT_PERCENT;      return PERCENT_PERCENT;
1342    }    }
1343          YY_BREAK          YY_BREAK
1344  case 45:  case 46:
1345  YY_RULE_SETUP  YY_RULE_SETUP
1346  #line 196 "scan-gram.l"  #line 197 "scan-gram.l"
1347  {  {
1348      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1349      fprintf (stderr, ": invalid character: `%c'\n", *yytext);      fprintf (stderr, ": invalid character: `%c'\n", *yytext);
# Line 1353  YY_RULE_SETUP Line 1358  YY_RULE_SETUP
1358    `------------------------------------------------------------*/    `------------------------------------------------------------*/
1359    
1360    
1361  case 46:  case 47:
1362  YY_RULE_SETUP  YY_RULE_SETUP
1363  #line 212 "scan-gram.l"  #line 213 "scan-gram.l"
1364  if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@<:@");  if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@<:@");
1365          YY_BREAK          YY_BREAK
1366  case 47:  case 48:
1367  YY_RULE_SETUP  YY_RULE_SETUP
1368  #line 213 "scan-gram.l"  #line 214 "scan-gram.l"
1369  if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@:>@");  if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@:>@");
1370          YY_BREAK          YY_BREAK
1371    
# Line 1369  if (YY_START != SC_COMMENT) obstack_sgro Line 1374  if (YY_START != SC_COMMENT) obstack_sgro
1374    `-----------------------------------------------------------*/    `-----------------------------------------------------------*/
1375    
1376    
1377  case 48:  case 49:
1378  YY_RULE_SETUP  YY_RULE_SETUP
1379  #line 224 "scan-gram.l"  #line 225 "scan-gram.l"
1380  { /* End of the comment. */  { /* End of the comment. */
1381      if (yy_top_state () == INITIAL)      if (yy_top_state () == INITIAL)
1382        {        {
# Line 1384  YY_RULE_SETUP Line 1389  YY_RULE_SETUP
1389      yy_pop_state ();      yy_pop_state ();
1390    }    }
1391          YY_BREAK          YY_BREAK
 case 49:  
 YY_RULE_SETUP  
 #line 236 "scan-gram.l"  
 if (yy_top_state () != INITIAL) YY_OBS_GROW;  
         YY_BREAK  
1392  case 50:  case 50:
1393  YY_RULE_SETUP  YY_RULE_SETUP
1394  #line 237 "scan-gram.l"  #line 237 "scan-gram.l"
1395  if (yy_top_state () != INITIAL) YY_OBS_GROW; YY_LINES;  if (yy_top_state () != INITIAL) YY_OBS_GROW;
1396          YY_BREAK          YY_BREAK
1397  case 51:  case 51:
1398  YY_RULE_SETUP  YY_RULE_SETUP
1399  #line 238 "scan-gram.l"  #line 238 "scan-gram.l"
1400    if (yy_top_state () != INITIAL) YY_OBS_GROW; YY_LINES;
1401            YY_BREAK
1402    case 52:
1403    YY_RULE_SETUP
1404    #line 239 "scan-gram.l"
1405  /* Stray `*'. */if (yy_top_state () != INITIAL) YY_OBS_GROW;  /* Stray `*'. */if (yy_top_state () != INITIAL) YY_OBS_GROW;
1406          YY_BREAK          YY_BREAK
1407  case YY_STATE_EOF(SC_COMMENT):  case YY_STATE_EOF(SC_COMMENT):
1408  #line 240 "scan-gram.l"  #line 241 "scan-gram.l"
1409  {  {
1410      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1411      fprintf (stderr, ": unexpected end of file in a comment\n");      fprintf (stderr, ": unexpected end of file in a comment\n");
# Line 1414  case YY_STATE_EOF(SC_COMMENT): Line 1419  case YY_STATE_EOF(SC_COMMENT):
1419    `----------------------------------------------------------------*/    `----------------------------------------------------------------*/
1420    
1421    
1422  case 52:  case 53:
1423  YY_RULE_SETUP  YY_RULE_SETUP
1424  #line 255 "scan-gram.l"  #line 256 "scan-gram.l"
1425  {  {
1426      assert (yy_top_state () == INITIAL);      assert (yy_top_state () == INITIAL);
1427      YY_OBS_GROW;      YY_OBS_GROW;
# Line 1426  YY_RULE_SETUP Line 1431  YY_RULE_SETUP
1431      return STRING;      return STRING;
1432    }    }
1433          YY_BREAK          YY_BREAK
1434  case 53:  case 54:
1435  YY_RULE_SETUP  YY_RULE_SETUP
1436  #line 264 "scan-gram.l"  #line 265 "scan-gram.l"
1437  YY_OBS_GROW;  YY_OBS_GROW;
1438          YY_BREAK          YY_BREAK
1439  case 54:  case 55:
1440  YY_RULE_SETUP  YY_RULE_SETUP
1441  #line 266 "scan-gram.l"  #line 267 "scan-gram.l"
1442  obstack_1grow (&string_obstack, '\n'); YY_LINES;  obstack_1grow (&string_obstack, '\n'); YY_LINES;
1443          YY_BREAK          YY_BREAK
1444  case YY_STATE_EOF(SC_ESCAPED_STRING):  case YY_STATE_EOF(SC_ESCAPED_STRING):
1445  #line 268 "scan-gram.l"  #line 269 "scan-gram.l"
1446  {  {
1447      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1448      fprintf (stderr, ": unexpected end of file in a string\n");      fprintf (stderr, ": unexpected end of file in a string\n");
# Line 1455  case YY_STATE_EOF(SC_ESCAPED_STRING): Line 1460  case YY_STATE_EOF(SC_ESCAPED_STRING):
1460    `---------------------------------------------------------------*/    `---------------------------------------------------------------*/
1461    
1462    
1463  case 55:  case 56:
1464  YY_RULE_SETUP  YY_RULE_SETUP
1465  #line 286 "scan-gram.l"  #line 287 "scan-gram.l"
1466  {  {
1467      YY_OBS_GROW;      YY_OBS_GROW;
1468      assert (yy_top_state () == INITIAL);      assert (yy_top_state () == INITIAL);
# Line 1472  YY_RULE_SETUP Line 1477  YY_RULE_SETUP
1477      }      }
1478    }    }
1479          YY_BREAK          YY_BREAK
1480  case 56:  case 57:
1481  YY_RULE_SETUP  YY_RULE_SETUP
1482  #line 300 "scan-gram.l"  #line 301 "scan-gram.l"
1483  YY_OBS_GROW;  YY_OBS_GROW;
1484          YY_BREAK          YY_BREAK
1485  case 57:  case 58:
1486  YY_RULE_SETUP  YY_RULE_SETUP
1487  #line 302 "scan-gram.l"  #line 303 "scan-gram.l"
1488  obstack_1grow (&string_obstack, '\n'); YY_LINES;  obstack_1grow (&string_obstack, '\n'); YY_LINES;
1489          YY_BREAK          YY_BREAK
1490  case YY_STATE_EOF(SC_ESCAPED_CHARACTER):  case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
1491  #line 304 "scan-gram.l"  #line 305 "scan-gram.l"
1492  {  {
1493      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1494      fprintf (stderr, ": unexpected end of file in a character\n");      fprintf (stderr, ": unexpected end of file in a character\n");
# Line 1500  case YY_STATE_EOF(SC_ESCAPED_CHARACTER): Line 1505  case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
1505    `----------------------------*/    `----------------------------*/
1506    
1507    
1508  case 58:  case 59:
1509  YY_RULE_SETUP  YY_RULE_SETUP
1510  #line 322 "scan-gram.l"  #line 323 "scan-gram.l"
1511  {  {
1512      long c = strtol (yytext + 1, 0, 8);      long c = strtol (yytext + 1, 0, 8);
1513      if (c > 255)      if (c > 255)
# Line 1515  YY_RULE_SETUP Line 1520  YY_RULE_SETUP
1520        obstack_1grow (&string_obstack, c);        obstack_1grow (&string_obstack, c);
1521    }    }
1522          YY_BREAK          YY_BREAK
1523  case 59:  case 60:
1524  YY_RULE_SETUP  YY_RULE_SETUP
1525  #line 334 "scan-gram.l"  #line 335 "scan-gram.l"
1526  {  {
1527      obstack_1grow (&string_obstack, strtol (yytext + 2, 0, 16));      obstack_1grow (&string_obstack, strtol (yytext + 2, 0, 16));
1528    }    }
1529          YY_BREAK          YY_BREAK
 case 60:  
 YY_RULE_SETUP  
 #line 338 "scan-gram.l"  
 obstack_1grow (&string_obstack, '\a');  
         YY_BREAK  
1530  case 61:  case 61:
1531  YY_RULE_SETUP  YY_RULE_SETUP
1532  #line 339 "scan-gram.l"  #line 339 "scan-gram.l"
1533  obstack_1grow (&string_obstack, '\b');  obstack_1grow (&string_obstack, '\a');
1534          YY_BREAK          YY_BREAK
1535  case 62:  case 62:
1536  YY_RULE_SETUP  YY_RULE_SETUP
1537  #line 340 "scan-gram.l"  #line 340 "scan-gram.l"
1538  obstack_1grow (&string_obstack, '\f');  obstack_1grow (&string_obstack, '\b');
1539          YY_BREAK          YY_BREAK
1540  case 63:  case 63:
1541  YY_RULE_SETUP  YY_RULE_SETUP
1542  #line 341 "scan-gram.l"  #line 341 "scan-gram.l"
1543  obstack_1grow (&string_obstack, '\n');  obstack_1grow (&string_obstack, '\f');
1544          YY_BREAK          YY_BREAK
1545  case 64:  case 64:
1546  YY_RULE_SETUP  YY_RULE_SETUP
1547  #line 342 "scan-gram.l"  #line 342 "scan-gram.l"
1548  obstack_1grow (&string_obstack, '\r');  obstack_1grow (&string_obstack, '\n');
1549          YY_BREAK          YY_BREAK
1550  case 65:  case 65:
1551  YY_RULE_SETUP  YY_RULE_SETUP
1552  #line 343 "scan-gram.l"  #line 343 "scan-gram.l"
1553  obstack_1grow (&string_obstack, '\t');  obstack_1grow (&string_obstack, '\r');
1554          YY_BREAK          YY_BREAK
1555  case 66:  case 66:
1556  YY_RULE_SETUP  YY_RULE_SETUP
1557  #line 344 "scan-gram.l"  #line 344 "scan-gram.l"
1558  obstack_1grow (&string_obstack, '\v');  obstack_1grow (&string_obstack, '\t');
1559          YY_BREAK          YY_BREAK
1560  case 67:  case 67:
1561  YY_RULE_SETUP  YY_RULE_SETUP
1562  #line 345 "scan-gram.l"  #line 345 "scan-gram.l"
1563  obstack_1grow (&string_obstack, yytext[1]);  obstack_1grow (&string_obstack, '\v');
1564          YY_BREAK          YY_BREAK
1565  case 68:  case 68:
1566  YY_RULE_SETUP  YY_RULE_SETUP
1567  #line 346 "scan-gram.l"  #line 346 "scan-gram.l"
1568    obstack_1grow (&string_obstack, yytext[1]);
1569            YY_BREAK
1570    case 69:
1571    YY_RULE_SETUP
1572    #line 347 "scan-gram.l"
1573  {  {
1574      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1575      fprintf (stderr, ": unrecognized escape: %s\n", quote (yytext));      fprintf (stderr, ": unrecognized escape: %s\n", quote (yytext));
# Line 1572  YY_RULE_SETUP Line 1577  YY_RULE_SETUP
1577    }    }
1578          YY_BREAK          YY_BREAK
1579  /* FLex wants this rule, in case of a `\<<EOF>>'. */  /* FLex wants this rule, in case of a `\<<EOF>>'. */
1580  case 69:  case 70:
1581  YY_RULE_SETUP  YY_RULE_SETUP
1582  #line 352 "scan-gram.l"  #line 353 "scan-gram.l"
1583  YY_OBS_GROW;  YY_OBS_GROW;
1584          YY_BREAK          YY_BREAK
1585    
# Line 1584  YY_OBS_GROW; Line 1589  YY_OBS_GROW;
1589    `----------------------------------------------------------*/    `----------------------------------------------------------*/
1590    
1591    
1592  case 70:  case 71:
1593  YY_RULE_SETUP  YY_RULE_SETUP
1594  #line 363 "scan-gram.l"  #line 364 "scan-gram.l"
1595  {  {
1596      YY_OBS_GROW;      YY_OBS_GROW;
1597      assert (yy_top_state () != INITIAL);      assert (yy_top_state () != INITIAL);
1598      yy_pop_state ();      yy_pop_state ();
1599    }    }
1600          YY_BREAK          YY_BREAK
 case 71:  
 YY_RULE_SETUP  
 #line 369 "scan-gram.l"  
 YY_OBS_GROW;  
         YY_BREAK  
1601  case 72:  case 72:
1602  YY_RULE_SETUP  YY_RULE_SETUP
1603  #line 370 "scan-gram.l"  #line 370 "scan-gram.l"
1604  YY_OBS_GROW;  YY_OBS_GROW;
1605          YY_BREAK          YY_BREAK
 /* FLex wants this rule, in case of a `\<<EOF>>'. */  
1606  case 73:  case 73:
1607  YY_RULE_SETUP  YY_RULE_SETUP
1608  #line 372 "scan-gram.l"  #line 371 "scan-gram.l"
1609  YY_OBS_GROW;  YY_OBS_GROW;
1610          YY_BREAK          YY_BREAK
1611    /* FLex wants this rule, in case of a `\<<EOF>>'. */
1612  case 74:  case 74:
1613  YY_RULE_SETUP  YY_RULE_SETUP
1614  #line 374 "scan-gram.l"  #line 373 "scan-gram.l"
1615    YY_OBS_GROW;
1616            YY_BREAK
1617    case 75:
1618    YY_RULE_SETUP
1619    #line 375 "scan-gram.l"
1620  YY_OBS_GROW; YY_LINES;  YY_OBS_GROW; YY_LINES;
1621          YY_BREAK          YY_BREAK
1622  case YY_STATE_EOF(SC_CHARACTER):  case YY_STATE_EOF(SC_CHARACTER):
1623  #line 376 "scan-gram.l"  #line 377 "scan-gram.l"
1624  {  {
1625      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1626      fprintf (stderr, ": unexpected end of file in a character\n");      fprintf (stderr, ": unexpected end of file in a character\n");
# Line 1630  case YY_STATE_EOF(SC_CHARACTER): Line 1635  case YY_STATE_EOF(SC_CHARACTER):
1635    `----------------------------------------------------------------*/    `----------------------------------------------------------------*/
1636    
1637    
1638  case 75:  case 76:
1639  YY_RULE_SETUP  YY_RULE_SETUP
1640  #line 392 "scan-gram.l"  #line 393 "scan-gram.l"
1641  {  {
1642      assert (yy_top_state () != INITIAL);      assert (yy_top_state () != INITIAL);
1643      YY_OBS_GROW;      YY_OBS_GROW;
1644      yy_pop_state ();      yy_pop_state ();
1645    }    }
1646          YY_BREAK          YY_BREAK
 case 76:  
 YY_RULE_SETUP  
 #line 398 "scan-gram.l"  
 YY_OBS_GROW;  
         YY_BREAK  
1647  case 77:  case 77:
1648  YY_RULE_SETUP  YY_RULE_SETUP
1649  #line 399 "scan-gram.l"  #line 399 "scan-gram.l"
1650  YY_OBS_GROW;  YY_OBS_GROW;
1651          YY_BREAK          YY_BREAK
 /* FLex wants this rule, in case of a `\<<EOF>>'. */  
1652  case 78:  case 78:
1653  YY_RULE_SETUP  YY_RULE_SETUP
1654  #line 401 "scan-gram.l"  #line 400 "scan-gram.l"
1655  YY_OBS_GROW;  YY_OBS_GROW;
1656          YY_BREAK          YY_BREAK
1657    /* FLex wants this rule, in case of a `\<<EOF>>'. */
1658  case 79:  case 79:
1659  YY_RULE_SETUP  YY_RULE_SETUP
1660  #line 403 "scan-gram.l"  #line 402 "scan-gram.l"
1661    YY_OBS_GROW;
1662            YY_BREAK
1663    case 80:
1664    YY_RULE_SETUP
1665    #line 404 "scan-gram.l"
1666  YY_OBS_GROW; YY_LINES;  YY_OBS_GROW; YY_LINES;
1667          YY_BREAK          YY_BREAK
1668  case YY_STATE_EOF(SC_STRING):  case YY_STATE_EOF(SC_STRING):
1669  #line 405 "scan-gram.l"  #line 406 "scan-gram.l"
1670  {  {
1671      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1672      fprintf (stderr, ": unexpected end of file in a string\n");      fprintf (stderr, ": unexpected end of file in a string\n");
# Line 1676  case YY_STATE_EOF(SC_STRING): Line 1681  case YY_STATE_EOF(SC_STRING):
1681    
1682    
1683  /* Characters.  We don't check there is only one.  */  /* Characters.  We don't check there is only one.  */
1684  case 80:  case 81:
1685  YY_RULE_SETUP  YY_RULE_SETUP
1686  #line 421 "scan-gram.l"  #line 422 "scan-gram.l"
1687  YY_OBS_GROW; yy_push_state (SC_CHARACTER);  YY_OBS_GROW; yy_push_state (SC_CHARACTER);
1688          YY_BREAK          YY_BREAK
1689  /* Strings. */  /* Strings. */
1690  case 81:  case 82:
1691  YY_RULE_SETUP  YY_RULE_SETUP
1692  #line 424 "scan-gram.l"  #line 425 "scan-gram.l"
1693  YY_OBS_GROW; yy_push_state (SC_STRING);  YY_OBS_GROW; yy_push_state (SC_STRING);
1694          YY_BREAK          YY_BREAK
1695  /* Comments. */  /* Comments. */
1696  case 82:  case 83:
1697  YY_RULE_SETUP  YY_RULE_SETUP
1698  #line 427 "scan-gram.l"  #line 428 "scan-gram.l"
1699  YY_OBS_GROW; yy_push_state (SC_COMMENT);  YY_OBS_GROW; yy_push_state (SC_COMMENT);
1700          YY_BREAK          YY_BREAK
1701  case 83:  case 84:
1702  YY_RULE_SETUP  YY_RULE_SETUP
1703  #line 428 "scan-gram.l"  #line 429 "scan-gram.l"
1704  YY_OBS_GROW;  YY_OBS_GROW;
1705          YY_BREAK          YY_BREAK
1706  /* Not comments. */  /* Not comments. */
1707  case 84:  case 85:
1708  YY_RULE_SETUP  YY_RULE_SETUP
1709  #line 431 "scan-gram.l"  #line 432 "scan-gram.l"
1710  YY_OBS_GROW;  YY_OBS_GROW;
1711          YY_BREAK          YY_BREAK
1712    
# Line 1711  YY_OBS_GROW; Line 1716  YY_OBS_GROW;
1716    `---------------------------------------------------------------*/    `---------------------------------------------------------------*/
1717    
1718    
1719  case 85:  case 86:
1720  YY_RULE_SETUP  YY_RULE_SETUP
1721  #line 442 "scan-gram.l"  #line 443 "scan-gram.l"
1722  {  {
1723      YY_OBS_GROW;      YY_OBS_GROW;
1724      if (--braces_level == 0)      if (--braces_level == 0)
# Line 1725  YY_RULE_SETUP Line 1730  YY_RULE_SETUP
1730        }        }
1731    }    }
1732          YY_BREAK          YY_BREAK
1733  case 86:  case 87:
1734  YY_RULE_SETUP  YY_RULE_SETUP
1735  #line 453 "scan-gram.l"  #line 454 "scan-gram.l"
1736  YY_OBS_GROW; braces_level++;  YY_OBS_GROW; braces_level++;
1737          YY_BREAK          YY_BREAK
1738  case 87:  case 88:
1739  YY_RULE_SETUP  YY_RULE_SETUP
1740  #line 455 "scan-gram.l"  #line 456 "scan-gram.l"
1741  { handle_dollar (current_braced_code,  { handle_dollar (current_braced_code,
1742                                                     yytext, *yylloc); }                                                     yytext, *yylloc); }
1743          YY_BREAK          YY_BREAK
1744  case 88:  case 89:
1745  YY_RULE_SETUP  YY_RULE_SETUP
1746  #line 457 "scan-gram.l"  #line 458 "scan-gram.l"
1747  { handle_at (current_braced_code,  { handle_at (current_braced_code,
1748                                                 yytext, *yylloc); }                                                 yytext, *yylloc); }
1749          YY_BREAK          YY_BREAK
1750  case 89:  case 90:
1751  YY_RULE_SETUP  YY_RULE_SETUP
1752  #line 460 "scan-gram.l"  #line 461 "scan-gram.l"
1753  YY_OBS_GROW;  YY_OBS_GROW;
1754          YY_BREAK          YY_BREAK
1755  case 90:  case 91:
1756  YY_RULE_SETUP  YY_RULE_SETUP
1757  #line 461 "scan-gram.l"  #line 462 "scan-gram.l"
1758  YY_OBS_GROW; YY_LINES;  YY_OBS_GROW; YY_LINES;
1759          YY_BREAK          YY_BREAK
1760  /* A lose $, or /, or etc. */  /* A lose $, or /, or etc. */
1761  case 91:  case 92:
1762  YY_RULE_SETUP  YY_RULE_SETUP
1763  #line 464 "scan-gram.l"  #line 465 "scan-gram.l"
1764  YY_OBS_GROW;  YY_OBS_GROW;
1765          YY_BREAK          YY_BREAK
1766  case YY_STATE_EOF(SC_BRACED_CODE):  case YY_STATE_EOF(SC_BRACED_CODE):
1767  #line 466 "scan-gram.l"  #line 467 "scan-gram.l"
1768  {  {
1769      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1770      fprintf (stderr, ": unexpected end of file in a braced code\n");      fprintf (stderr, ": unexpected end of file in a braced code\n");
# Line 1775  case YY_STATE_EOF(SC_BRACED_CODE): Line 1780  case YY_STATE_EOF(SC_BRACED_CODE):
1780    `--------------------------------------------------------------*/    `--------------------------------------------------------------*/
1781    
1782    
1783  case 92:  case 93:
1784  YY_RULE_SETUP  YY_RULE_SETUP
1785  #line 484 "scan-gram.l"  #line 485 "scan-gram.l"
1786  {  {
1787      yy_pop_state ();      yy_pop_state ();
1788      YY_OBS_FINISH;      YY_OBS_FINISH;
# Line 1785  YY_RULE_SETUP Line 1790  YY_RULE_SETUP
1790      return PROLOGUE;      return PROLOGUE;
1791    }    }
1792          YY_BREAK          YY_BREAK
 case 93:  
 YY_RULE_SETUP  
 #line 491 "scan-gram.l"  
 YY_OBS_GROW;  
         YY_BREAK  
1793  case 94:  case 94:
1794  YY_RULE_SETUP  YY_RULE_SETUP
1795  #line 492 "scan-gram.l"  #line 492 "scan-gram.l"
# Line 1798  YY_OBS_GROW; Line 1798  YY_OBS_GROW;
1798  case 95:  case 95:
1799  YY_RULE_SETUP  YY_RULE_SETUP
1800  #line 493 "scan-gram.l"  #line 493 "scan-gram.l"
1801    YY_OBS_GROW;
1802            YY_BREAK
1803    case 96:
1804    YY_RULE_SETUP
1805    #line 494 "scan-gram.l"
1806  YY_OBS_GROW; YY_LINES;  YY_OBS_GROW; YY_LINES;
1807          YY_BREAK          YY_BREAK
1808  case YY_STATE_EOF(SC_PROLOGUE):  case YY_STATE_EOF(SC_PROLOGUE):
1809  #line 495 "scan-gram.l"  #line 496 "scan-gram.l"
1810  {  {
1811      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1812      fprintf (stderr, ": unexpected end of file in a prologue\n");      fprintf (stderr, ": unexpected end of file in a prologue\n");
# Line 1818  case YY_STATE_EOF(SC_PROLOGUE): Line 1823  case YY_STATE_EOF(SC_PROLOGUE):
1823    `---------------------------------------------------------------*/    `---------------------------------------------------------------*/
1824    
1825    
1826  case 96:  case 97:
1827  YY_RULE_SETUP  YY_RULE_SETUP
1828  #line 513 "scan-gram.l"  #line 514 "scan-gram.l"
1829  YY_OBS_GROW;  YY_OBS_GROW;
1830          YY_BREAK          YY_BREAK
1831  case YY_STATE_EOF(SC_EPILOGUE):  case YY_STATE_EOF(SC_EPILOGUE):
1832  #line 515 "scan-gram.l"  #line 516 "scan-gram.l"
1833  {  {
1834      yy_pop_state ();      yy_pop_state ();
1835      YY_OBS_FINISH;      YY_OBS_FINISH;
# Line 1833  case YY_STATE_EOF(SC_EPILOGUE): Line 1838  case YY_STATE_EOF(SC_EPILOGUE):
1838    }    }
1839          YY_BREAK          YY_BREAK
1840    
1841  case 97:  case 98:
1842  YY_RULE_SETUP  YY_RULE_SETUP
1843  #line 524 "scan-gram.l"  #line 525 "scan-gram.l"
1844  YY_FATAL_ERROR( "flex scanner jammed" );  YY_FATAL_ERROR( "flex scanner jammed" );
1845          YY_BREAK          YY_BREAK
1846  #line 1842 "lex.yy.c"  #line 1847 "lex.yy.c"
1847  case YY_STATE_EOF(INITIAL):  case YY_STATE_EOF(INITIAL):
1848          yyterminate();          yyterminate();
1849    
# Line 2130  static yy_state_type yy_get_previous_sta Line 2135  static yy_state_type yy_get_previous_sta
2135                  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )                  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2136                          {                          {
2137                          yy_current_state = (int) yy_def[yy_current_state];                          yy_current_state = (int) yy_def[yy_current_state];
2138                          if ( yy_current_state >= 356 )                          if ( yy_current_state >= 361 )
2139                                  yy_c = yy_meta[(unsigned int) yy_c];                                  yy_c = yy_meta[(unsigned int) yy_c];
2140                          }                          }
2141                  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];                  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
# Line 2165  yy_state_type yy_current_state; Line 2170  yy_state_type yy_current_state;
2170          while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )          while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2171                  {                  {
2172                  yy_current_state = (int) yy_def[yy_current_state];                  yy_current_state = (int) yy_def[yy_current_state];
2173                  if ( yy_current_state >= 356 )                  if ( yy_current_state >= 361 )
2174                          yy_c = yy_meta[(unsigned int) yy_c];                          yy_c = yy_meta[(unsigned int) yy_c];
2175                  }                  }
2176          yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];          yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2177          yy_is_jam = (yy_current_state == 355);          yy_is_jam = (yy_current_state == 360);
2178    
2179          return yy_is_jam ? 0 : yy_current_state;          return yy_is_jam ? 0 : yy_current_state;
2180          }          }
# Line 2728  int main() Line 2733  int main()
2733          return 0;          return 0;
2734          }          }
2735  #endif  #endif
2736  #line 524 "scan-gram.l"  #line 525 "scan-gram.l"
2737    
2738    
2739  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2740  | CP is pointing to a wannabee semantic value (i.e., a `$').        |  | TEXT is pointing to a wannabee semantic value (i.e., a `$').      |
2741  |                                                                   |  |                                                                   |
2742  | Possible inputs: $[<TYPENAME>]($|integer)                         |  | Possible inputs: $[<TYPENAME>]($|integer)                         |
2743  |                                                                   |  |                                                                   |
# Line 2740  int main() Line 2745  int main()
2745  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2746    
2747  static inline void  static inline void
2748  handle_action_dollar (char *cp, location_t location)  handle_action_dollar (char *text, location_t location)
2749  {  {
2750    const char *type_name = NULL;    const char *type_name = NULL;
2751      char *cp = text + 1;
   ++cp;  
2752    
2753    /* Get the type name if explicit. */    /* Get the type name if explicit. */
2754    if (*cp == '<')    if (*cp == '<')
# Line 2796  handle_action_dollar (char *cp, location Line 2800  handle_action_dollar (char *cp, location
2800      }      }
2801    else    else
2802      {      {
2803        char buf[] = "$c";        complain_at (location, _("%s is invalid"), quote (text));
       buf[1] = *cp;  
       complain_at (location, _("%s is invalid"), quote (buf));  
2804      }      }
2805  }  }
2806    
2807    
2808  /*---------------------------------------.  /*---------------------------------------------------------------.
2809  | CP is pointing to $$ in a destructor.  |  | TEXT is expexted tp be $$ in some code associated to a symbol: |
2810  `---------------------------------------*/  | destructor or printer.                                         |
2811    `---------------------------------------------------------------*/
2812    
2813  static inline void  static inline void
2814  handle_destructor_dollar (char *cp, location_t location)  handle_symbol_code_dollar (char *text, location_t location)
2815  {  {
2816    ++cp;    char *cp = text + 1;
2817    if (*cp == '$')    if (*cp == '$')
2818      {      obstack_sgrow (&string_obstack, "]b4_dollar_dollar[");
       obstack_sgrow (&string_obstack, "]b4_dollar_dollar[");  
     }  
2819    else    else
2820      {      complain_at (location, _("%s is invalid"), quote (text));
       char buf[] = "$c";  
       buf[1] = *cp;  
       complain_at (location, _("%s is invalid"), quote (buf));  
     }  
2821  }  }
2822    
2823    
# Line 2840  handle_dollar (braced_code_t braced_code Line 2837  handle_dollar (braced_code_t braced_code
2837        break;        break;
2838    
2839      case destructor_braced_code:      case destructor_braced_code:
2840        handle_destructor_dollar (text, location);      case printer_braced_code:
2841          handle_symbol_code_dollar (text, location);
2842        break;        break;
2843      }      }
2844  }  }
# Line 2854  handle_dollar (braced_code_t braced_code Line 2852  handle_dollar (braced_code_t braced_code
2852  static inline void  static inline void
2853  handle_action_at (char *text, location_t location)  handle_action_at (char *text, location_t location)
2854  {  {
2855      char *cp = text + 1;
2856    locations_flag = 1;    locations_flag = 1;
   ++text;  
2857    
2858    if (*text == '$')    if (*cp == '$')
2859      {      {
2860        obstack_sgrow (&string_obstack, "]b4_lhs_location[");        obstack_sgrow (&string_obstack, "]b4_lhs_location[");
2861      }      }
2862    else if (isdigit (*text) || *text == '-')    else if (isdigit (*cp) || *cp == '-')
2863      {      {
2864        /* RULE_LENGTH is the number of values in the current rule so        /* RULE_LENGTH is the number of values in the current rule so
2865           far, which says where to find `$0' with respect to the top of           far, which says where to find `$0' with respect to the top of
2866           the stack.  It is not the same as the rule->length in the           the stack.  It is not the same as the rule->length in the
2867           case of mid rule actions.  */           case of mid rule actions.  */
2868        int rule_length = symbol_list_length (current_rule->next);        int rule_length = symbol_list_length (current_rule->next);
2869        int n = strtol (text, &text, 10);        int n = strtol (cp, &cp, 10);
2870    
2871        if (n > rule_length)        if (n > rule_length)
2872          complain_at (location, _("invalid value: %s%d"), "@", n);          complain_at (location, _("invalid value: %s%d"), "@", n);
# Line 2878  handle_action_at (char *text, location_t Line 2876  handle_action_at (char *text, location_t
2876      }      }
2877    else    else
2878      {      {
2879        char buf[] = "@c";        complain_at (location, _("%s is invalid"), quote (text));
       buf[1] = *text;  
       complain_at (location, _("%s is invalid"), quote (buf));  
2880      }      }
2881  }  }
2882    
2883    
2884  /*--------------------------------------------.  /*---------------------------------------------------------------.
2885  | TEXT is expexted tp be @$ in a destructor.  |  | TEXT is expexted tp be @$ in some code associated to a symbol: |
2886  `--------------------------------------------*/  | destructor or printer.                                         |
2887    `---------------------------------------------------------------*/
2888    
2889  static inline void  static inline void
2890  handle_destructor_at (char *text, location_t location)  handle_symbol_code_at (char *text, location_t location)
2891  {  {
2892    ++text;    char *cp = text + 1;
2893    if (*text == '$')    if (*cp == '$')
2894      {      obstack_sgrow (&string_obstack, "]b4_at_dollar[");
       obstack_sgrow (&string_obstack, "]b4_at_dollar[");  
     }  
2895    else    else
2896      {      complain_at (location, _("%s is invalid"), quote (text));
       char buf[] = "$c";  
       buf[1] = *text;  
       complain_at (location, _("%s is invalid"), quote (buf));  
     }  
2897  }  }
2898    
2899    
# Line 2922  handle_at (braced_code_t braced_code_kin Line 2913  handle_at (braced_code_t braced_code_kin
2913        break;        break;
2914    
2915      case destructor_braced_code:      case destructor_braced_code:
2916        handle_destructor_at (text, location);      case printer_braced_code:
2917          handle_symbol_code_at (text, location);
2918        break;        break;
2919      }      }
2920  }  }

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26