/[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.3 by akim, Tue Jun 11 21:45:49 2002 UTC revision 1.4 by akim, Tue Jun 11 21:46:16 2002 UTC
# Line 689  int yy_flex_debug = 1; Line 689  int yy_flex_debug = 1;
689    
690  static yyconst short int yy_rule_linenum[92] =  static yyconst short int yy_rule_linenum[92] =
691      {   0,      {   0,
692        121,  122,  123,  124,  125,  126,  127,  128,  129,  130,        117,  118,  119,  120,  121,  122,  123,  124,  125,  126,
693        131,  132,  133,  134,  135,  136,  137,  138,  139,  140,        127,  128,  129,  130,  131,  132,  133,  134,  135,  136,
694        141,  142,  143,  144,  145,  146,  147,  149,  150,  151,        137,  138,  139,  140,  141,  142,  143,  145,  146,  147,
695        152,  154,  155,  156,  161,  164,  167,  170,  171,  174,        148,  150,  151,  152,  157,  160,  163,  166,  167,  170,
696        177,  180,  189,  195,  211,  212,  223,  235,  236,  237,        173,  176,  184,  190,  206,  207,  218,  230,  231,  232,
697        254,  263,  265,  285,  299,  301,  321,  333,  337,  338,        249,  258,  260,  280,  294,  296,  316,  328,  332,  333,
698        339,  340,  341,  342,  343,  344,  345,  360,  366,  367,        334,  335,  336,  337,  338,  339,  340,  355,  361,  362,
699        369,  387,  393,  394,  396,  414,  417,  420,  421,  432,        364,  382,  388,  389,  391,  409,  412,  415,  416,  427,
700        443,  445,  446,  448,  449,  452,  472,  479,  480,  481,        438,  440,  441,  443,  444,  447,  467,  474,  475,  476,
701        502        497
702    
703      } ;      } ;
704    
# Line 753  char *yytext; Line 753  char *yytext;
753     keep (to construct ID, STRINGS etc.).  Use the following macros to     keep (to construct ID, STRINGS etc.).  Use the following macros to
754     use it.     use it.
755    
756     Use YY_OBS_INIT to initialize a new growing string, YY_OBS_GROW to     Use YY_OBS_GROW to append what has just been matched, and
757     append what has just been matched, and YY_OBS_FINISH to end the     YY_OBS_FINISH to end the string (it puts the ending 0).
758     string (it puts the ending 0).  YY_OBS_FINISH also stores this     YY_OBS_FINISH also stores this string in LAST_STRING, which can be
759     string in LAST_STRING, which can be used, and which is used by     used, and which is used by YY_OBS_FREE to free the last string.  */
    YY_OBS_FREE to free the last string.  */  
760    
761  static struct obstack string_obstack;  static struct obstack string_obstack;
762  char *last_string;  char *last_string;
763    
 #define YY_OBS_INIT   \  
   obstack_init (&string_obstack)  
   
764  #define YY_OBS_GROW   \  #define YY_OBS_GROW   \
765    obstack_grow (&string_obstack, yytext, yyleng)    obstack_grow (&string_obstack, yytext, yyleng)
766    
# Line 808  static void handle_at PARAMS ((char *cp) Line 804  static void handle_at PARAMS ((char *cp)
804  #define SC_PROLOGUE 7  #define SC_PROLOGUE 7
805  #define SC_EPILOGUE 8  #define SC_EPILOGUE 8
806    
807  #line 812 "scan-gram.c"  #line 808 "scan-gram.c"
808    
809  /* Macros after this point can all be overridden by user definitions in  /* Macros after this point can all be overridden by user definitions in
810   * section 1.   * section 1.
# Line 970  YY_DECL Line 966  YY_DECL
966          register char *yy_cp, *yy_bp;          register char *yy_cp, *yy_bp;
967          register int yy_act;          register int yy_act;
968    
969  #line 97 "scan-gram.l"  #line 93 "scan-gram.l"
970    
971    
972    /* At each yylex invocation, mark the current position as the    /* At each yylex invocation, mark the current position as the
# Line 993  YY_DECL Line 989  YY_DECL
989    /*----------------------------.    /*----------------------------.
990    | Scanning Bison directives.  |    | Scanning Bison directives.  |
991    `----------------------------*/    `----------------------------*/
992  #line 997 "scan-gram.c"  #line 993 "scan-gram.c"
993    
994          if ( yy_init )          if ( yy_init )
995                  {                  {
# Line 1095  do_action:     /* This label is used only to Line 1091  do_action:     /* This label is used only to
1091    
1092  case 1:  case 1:
1093  YY_RULE_SETUP  YY_RULE_SETUP
1094  #line 121 "scan-gram.l"  #line 117 "scan-gram.l"
1095  return PERCENT_NONASSOC;  return PERCENT_NONASSOC;
1096          YY_BREAK          YY_BREAK
1097  case 2:  case 2:
1098  YY_RULE_SETUP  YY_RULE_SETUP
1099  #line 122 "scan-gram.l"  #line 118 "scan-gram.l"
1100  return PERCENT_DEBUG;  return PERCENT_DEBUG;
1101          YY_BREAK          YY_BREAK
1102  case 3:  case 3:
1103  YY_RULE_SETUP  YY_RULE_SETUP
1104  #line 123 "scan-gram.l"  #line 119 "scan-gram.l"
1105  return PERCENT_DEFINE;  return PERCENT_DEFINE;
1106          YY_BREAK          YY_BREAK
1107  case 4:  case 4:
1108  YY_RULE_SETUP  YY_RULE_SETUP
1109  #line 124 "scan-gram.l"  #line 120 "scan-gram.l"
1110  return PERCENT_DEFINES;  return PERCENT_DEFINES;
1111          YY_BREAK          YY_BREAK
1112  case 5:  case 5:
1113  YY_RULE_SETUP  YY_RULE_SETUP
1114  #line 125 "scan-gram.l"  #line 121 "scan-gram.l"
1115  return PERCENT_ERROR_VERBOSE;  return PERCENT_ERROR_VERBOSE;
1116          YY_BREAK          YY_BREAK
1117  case 6:  case 6:
1118  YY_RULE_SETUP  YY_RULE_SETUP
1119  #line 126 "scan-gram.l"  #line 122 "scan-gram.l"
1120  return PERCENT_EXPECT;  return PERCENT_EXPECT;
1121          YY_BREAK          YY_BREAK
1122  case 7:  case 7:
1123  YY_RULE_SETUP  YY_RULE_SETUP
1124  #line 127 "scan-gram.l"  #line 123 "scan-gram.l"
1125  return PERCENT_FILE_PREFIX;  return PERCENT_FILE_PREFIX;
1126          YY_BREAK          YY_BREAK
1127  case 8:  case 8:
1128  YY_RULE_SETUP  YY_RULE_SETUP
1129  #line 128 "scan-gram.l"  #line 124 "scan-gram.l"
1130  return PERCENT_YACC;  return PERCENT_YACC;
1131          YY_BREAK          YY_BREAK
1132  case 9:  case 9:
1133  YY_RULE_SETUP  YY_RULE_SETUP
1134  #line 129 "scan-gram.l"  #line 125 "scan-gram.l"
1135  return PERCENT_LEFT;  return PERCENT_LEFT;
1136          YY_BREAK          YY_BREAK
1137  case 10:  case 10:
1138  YY_RULE_SETUP  YY_RULE_SETUP
1139  #line 130 "scan-gram.l"  #line 126 "scan-gram.l"
1140  return PERCENT_LOCATIONS;  return PERCENT_LOCATIONS;
1141          YY_BREAK          YY_BREAK
1142  case 11:  case 11:
1143  YY_RULE_SETUP  YY_RULE_SETUP
1144  #line 131 "scan-gram.l"  #line 127 "scan-gram.l"
1145  return PERCENT_NAME_PREFIX;  return PERCENT_NAME_PREFIX;
1146          YY_BREAK          YY_BREAK
1147  case 12:  case 12:
1148  YY_RULE_SETUP  YY_RULE_SETUP
1149  #line 132 "scan-gram.l"  #line 128 "scan-gram.l"
1150  return PERCENT_NO_LINES;  return PERCENT_NO_LINES;
1151          YY_BREAK          YY_BREAK
1152  case 13:  case 13:
1153  YY_RULE_SETUP  YY_RULE_SETUP
1154  #line 133 "scan-gram.l"  #line 129 "scan-gram.l"
1155  return PERCENT_NONASSOC;  return PERCENT_NONASSOC;
1156          YY_BREAK          YY_BREAK
1157  case 14:  case 14:
1158  YY_RULE_SETUP  YY_RULE_SETUP
1159  #line 134 "scan-gram.l"  #line 130 "scan-gram.l"
1160  return PERCENT_NTERM;  return PERCENT_NTERM;
1161          YY_BREAK          YY_BREAK
1162  case 15:  case 15:
1163  YY_RULE_SETUP  YY_RULE_SETUP
1164  #line 135 "scan-gram.l"  #line 131 "scan-gram.l"
1165  return PERCENT_OUTPUT;  return PERCENT_OUTPUT;
1166          YY_BREAK          YY_BREAK
1167  case 16:  case 16:
1168  YY_RULE_SETUP  YY_RULE_SETUP
1169  #line 136 "scan-gram.l"  #line 132 "scan-gram.l"
1170  return PERCENT_PREC;  return PERCENT_PREC;
1171          YY_BREAK          YY_BREAK
1172  case 17:  case 17:
1173  YY_RULE_SETUP  YY_RULE_SETUP
1174  #line 137 "scan-gram.l"  #line 133 "scan-gram.l"
1175  return PERCENT_PURE_PARSER;  return PERCENT_PURE_PARSER;
1176          YY_BREAK          YY_BREAK
1177  case 18:  case 18:
1178  YY_RULE_SETUP  YY_RULE_SETUP
1179  #line 138 "scan-gram.l"  #line 134 "scan-gram.l"
1180  return PERCENT_RIGHT;  return PERCENT_RIGHT;
1181          YY_BREAK          YY_BREAK
1182  case 19:  case 19:
1183  YY_RULE_SETUP  YY_RULE_SETUP
1184  #line 139 "scan-gram.l"  #line 135 "scan-gram.l"
1185  return PERCENT_SKELETON;  return PERCENT_SKELETON;
1186          YY_BREAK          YY_BREAK
1187  case 20:  case 20:
1188  YY_RULE_SETUP  YY_RULE_SETUP
1189  #line 140 "scan-gram.l"  #line 136 "scan-gram.l"
1190  return PERCENT_START;  return PERCENT_START;
1191          YY_BREAK          YY_BREAK
1192  case 21:  case 21:
1193  YY_RULE_SETUP  YY_RULE_SETUP
1194  #line 141 "scan-gram.l"  #line 137 "scan-gram.l"
1195  return PERCENT_TOKEN;  return PERCENT_TOKEN;
1196          YY_BREAK          YY_BREAK
1197  case 22:  case 22:
1198  YY_RULE_SETUP  YY_RULE_SETUP
1199  #line 142 "scan-gram.l"  #line 138 "scan-gram.l"
1200  return PERCENT_TOKEN;  return PERCENT_TOKEN;
1201          YY_BREAK          YY_BREAK
1202  case 23:  case 23:
1203  YY_RULE_SETUP  YY_RULE_SETUP
1204  #line 143 "scan-gram.l"  #line 139 "scan-gram.l"
1205  return PERCENT_TOKEN_TABLE;  return PERCENT_TOKEN_TABLE;
1206          YY_BREAK          YY_BREAK
1207  case 24:  case 24:
1208  YY_RULE_SETUP  YY_RULE_SETUP
1209  #line 144 "scan-gram.l"  #line 140 "scan-gram.l"
1210  return PERCENT_TYPE;  return PERCENT_TYPE;
1211          YY_BREAK          YY_BREAK
1212  case 25:  case 25:
1213  YY_RULE_SETUP  YY_RULE_SETUP
1214  #line 145 "scan-gram.l"  #line 141 "scan-gram.l"
1215  return PERCENT_UNION;  return PERCENT_UNION;
1216          YY_BREAK          YY_BREAK
1217  case 26:  case 26:
1218  YY_RULE_SETUP  YY_RULE_SETUP
1219  #line 146 "scan-gram.l"  #line 142 "scan-gram.l"
1220  return PERCENT_VERBOSE;  return PERCENT_VERBOSE;
1221          YY_BREAK          YY_BREAK
1222  case 27:  case 27:
1223  YY_RULE_SETUP  YY_RULE_SETUP
1224  #line 147 "scan-gram.l"  #line 143 "scan-gram.l"
1225  return PERCENT_YACC;  return PERCENT_YACC;
1226          YY_BREAK          YY_BREAK
1227  case 28:  case 28:
1228  YY_RULE_SETUP  YY_RULE_SETUP
1229  #line 149 "scan-gram.l"  #line 145 "scan-gram.l"
1230  return EQUAL;  return EQUAL;
1231          YY_BREAK          YY_BREAK
1232  case 29:  case 29:
1233  YY_RULE_SETUP  YY_RULE_SETUP
1234  #line 150 "scan-gram.l"  #line 146 "scan-gram.l"
1235  return COLON;  return COLON;
1236          YY_BREAK          YY_BREAK
1237  case 30:  case 30:
1238  YY_RULE_SETUP  YY_RULE_SETUP
1239  #line 151 "scan-gram.l"  #line 147 "scan-gram.l"
1240  return PIPE;  return PIPE;
1241          YY_BREAK          YY_BREAK
1242  case 31:  case 31:
1243  YY_RULE_SETUP  YY_RULE_SETUP
1244  #line 152 "scan-gram.l"  #line 148 "scan-gram.l"
1245  return SEMICOLON;  return SEMICOLON;
1246          YY_BREAK          YY_BREAK
1247  case 32:  case 32:
1248  YY_RULE_SETUP  YY_RULE_SETUP
1249  #line 154 "scan-gram.l"  #line 150 "scan-gram.l"
1250  YY_LINES; YY_STEP;  YY_LINES; YY_STEP;
1251          YY_BREAK          YY_BREAK
1252  case 33:  case 33:
1253  YY_RULE_SETUP  YY_RULE_SETUP
1254  #line 155 "scan-gram.l"  #line 151 "scan-gram.l"
1255  YY_STEP;  YY_STEP;
1256          YY_BREAK          YY_BREAK
1257  case 34:  case 34:
1258  YY_RULE_SETUP  YY_RULE_SETUP
1259  #line 156 "scan-gram.l"  #line 152 "scan-gram.l"
1260  {  {
1261      yylval->symbol = getsym (yytext);      yylval->symbol = getsym (yytext);
1262      return ID;      return ID;
# Line 1268  YY_RULE_SETUP Line 1264  YY_RULE_SETUP
1264          YY_BREAK          YY_BREAK
1265  case 35:  case 35:
1266  YY_RULE_SETUP  YY_RULE_SETUP
1267  #line 161 "scan-gram.l"  #line 157 "scan-gram.l"
1268  yylval->integer = strtol (yytext, 0, 10); return INT;  yylval->integer = strtol (yytext, 0, 10); return INT;
1269          YY_BREAK          YY_BREAK
1270  /* Characters.  We don't check there is only one.  */  /* Characters.  We don't check there is only one.  */
1271  case 36:  case 36:
1272  YY_RULE_SETUP  YY_RULE_SETUP
1273  #line 164 "scan-gram.l"  #line 160 "scan-gram.l"
1274  YY_OBS_INIT; YY_OBS_GROW; yy_push_state (SC_ESCAPED_CHARACTER);  YY_OBS_GROW; yy_push_state (SC_ESCAPED_CHARACTER);
1275          YY_BREAK          YY_BREAK
1276  /* Strings. */  /* Strings. */
1277  case 37:  case 37:
1278  YY_RULE_SETUP  YY_RULE_SETUP
1279  #line 167 "scan-gram.l"  #line 163 "scan-gram.l"
1280  YY_OBS_INIT; YY_OBS_GROW; yy_push_state (SC_ESCAPED_STRING);  YY_OBS_GROW; yy_push_state (SC_ESCAPED_STRING);
1281          YY_BREAK          YY_BREAK
1282  /* Comments. */  /* Comments. */
1283  case 38:  case 38:
1284  YY_RULE_SETUP  YY_RULE_SETUP
1285  #line 170 "scan-gram.l"  #line 166 "scan-gram.l"
1286  yy_push_state (SC_COMMENT);  yy_push_state (SC_COMMENT);
1287          YY_BREAK          YY_BREAK
1288  case 39:  case 39:
1289  YY_RULE_SETUP  YY_RULE_SETUP
1290  #line 171 "scan-gram.l"  #line 167 "scan-gram.l"
1291  YY_STEP;  YY_STEP;
1292          YY_BREAK          YY_BREAK
1293  /* Prologue. */  /* Prologue. */
1294  case 40:  case 40:
1295  YY_RULE_SETUP  YY_RULE_SETUP
1296  #line 174 "scan-gram.l"  #line 170 "scan-gram.l"
1297  YY_OBS_INIT; yy_push_state (SC_PROLOGUE);  yy_push_state (SC_PROLOGUE);
1298          YY_BREAK          YY_BREAK
1299  /* Code in between braces.  */  /* Code in between braces.  */
1300  case 41:  case 41:
1301  YY_RULE_SETUP  YY_RULE_SETUP
1302  #line 177 "scan-gram.l"  #line 173 "scan-gram.l"
1303  YY_OBS_INIT; YY_OBS_GROW; ++braces_level; yy_push_state (SC_BRACED_CODE);  YY_OBS_GROW; ++braces_level; yy_push_state (SC_BRACED_CODE);
1304          YY_BREAK          YY_BREAK
1305  /* A type. */  /* A type. */
1306  case 42:  case 42:
1307  YY_RULE_SETUP  YY_RULE_SETUP
1308  #line 180 "scan-gram.l"  #line 176 "scan-gram.l"
1309  {  {
     YY_OBS_INIT;  
1310      obstack_grow (&string_obstack, yytext + 1, yyleng - 2);      obstack_grow (&string_obstack, yytext + 1, yyleng - 2);
1311      YY_OBS_FINISH;      YY_OBS_FINISH;
1312      yylval->string = last_string;      yylval->string = last_string;
# Line 1320  YY_RULE_SETUP Line 1315  YY_RULE_SETUP
1315          YY_BREAK          YY_BREAK
1316  case 43:  case 43:
1317  YY_RULE_SETUP  YY_RULE_SETUP
1318  #line 189 "scan-gram.l"  #line 184 "scan-gram.l"
1319  {  {
1320      if (++percent_percent_count == 2)      if (++percent_percent_count == 2)
1321        yy_push_state (SC_EPILOGUE);        yy_push_state (SC_EPILOGUE);
# Line 1329  YY_RULE_SETUP Line 1324  YY_RULE_SETUP
1324          YY_BREAK          YY_BREAK
1325  case 44:  case 44:
1326  YY_RULE_SETUP  YY_RULE_SETUP
1327  #line 195 "scan-gram.l"  #line 190 "scan-gram.l"
1328  {  {
1329      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1330      fprintf (stderr, ": invalid character: `%c'\n", *yytext);      fprintf (stderr, ": invalid character: `%c'\n", *yytext);
# Line 1346  YY_RULE_SETUP Line 1341  YY_RULE_SETUP
1341    
1342  case 45:  case 45:
1343  YY_RULE_SETUP  YY_RULE_SETUP
1344  #line 211 "scan-gram.l"  #line 206 "scan-gram.l"
1345  obstack_sgrow (&string_obstack, "@<:@");  if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@<:@");
1346          YY_BREAK          YY_BREAK
1347  case 46:  case 46:
1348  YY_RULE_SETUP  YY_RULE_SETUP
1349  #line 212 "scan-gram.l"  #line 207 "scan-gram.l"
1350  obstack_sgrow (&string_obstack, "@:>@");  if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@:>@");
1351          YY_BREAK          YY_BREAK
1352    
1353  /*-----------------------------------------------------------.  /*-----------------------------------------------------------.
# Line 1362  obstack_sgrow (&string_obstack, "@:>@"); Line 1357  obstack_sgrow (&string_obstack, "@:>@");
1357    
1358  case 47:  case 47:
1359  YY_RULE_SETUP  YY_RULE_SETUP
1360  #line 223 "scan-gram.l"  #line 218 "scan-gram.l"
1361  { /* End of the comment. */  { /* End of the comment. */
1362      if (yy_top_state () == INITIAL)      if (yy_top_state () == INITIAL)
1363        {        {
# Line 1377  YY_RULE_SETUP Line 1372  YY_RULE_SETUP
1372          YY_BREAK          YY_BREAK
1373  case 48:  case 48:
1374  YY_RULE_SETUP  YY_RULE_SETUP
1375  #line 235 "scan-gram.l"  #line 230 "scan-gram.l"
1376  if (yy_top_state () != INITIAL) YY_OBS_GROW;  if (yy_top_state () != INITIAL) YY_OBS_GROW;
1377          YY_BREAK          YY_BREAK
1378  case 49:  case 49:
1379  YY_RULE_SETUP  YY_RULE_SETUP
1380  #line 236 "scan-gram.l"  #line 231 "scan-gram.l"
1381  if (yy_top_state () != INITIAL) YY_OBS_GROW; YY_LINES;  if (yy_top_state () != INITIAL) YY_OBS_GROW; YY_LINES;
1382          YY_BREAK          YY_BREAK
1383  case 50:  case 50:
1384  YY_RULE_SETUP  YY_RULE_SETUP
1385  #line 237 "scan-gram.l"  #line 232 "scan-gram.l"
1386  /* Stray `*'. */if (yy_top_state () != INITIAL) YY_OBS_GROW;  /* Stray `*'. */if (yy_top_state () != INITIAL) YY_OBS_GROW;
1387          YY_BREAK          YY_BREAK
1388  case YY_STATE_EOF(SC_COMMENT):  case YY_STATE_EOF(SC_COMMENT):
1389  #line 239 "scan-gram.l"  #line 234 "scan-gram.l"
1390  {  {
1391      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1392      fprintf (stderr, ": unexpected end of file in a comment\n");      fprintf (stderr, ": unexpected end of file in a comment\n");
# Line 1407  case YY_STATE_EOF(SC_COMMENT): Line 1402  case YY_STATE_EOF(SC_COMMENT):
1402    
1403  case 51:  case 51:
1404  YY_RULE_SETUP  YY_RULE_SETUP
1405  #line 254 "scan-gram.l"  #line 249 "scan-gram.l"
1406  {  {
1407      assert (yy_top_state () == INITIAL);      assert (yy_top_state () == INITIAL);
1408      YY_OBS_GROW;      YY_OBS_GROW;
# Line 1419  YY_RULE_SETUP Line 1414  YY_RULE_SETUP
1414          YY_BREAK          YY_BREAK
1415  case 52:  case 52:
1416  YY_RULE_SETUP  YY_RULE_SETUP
1417  #line 263 "scan-gram.l"  #line 258 "scan-gram.l"
1418  YY_OBS_GROW;  YY_OBS_GROW;
1419          YY_BREAK          YY_BREAK
1420  case 53:  case 53:
1421  YY_RULE_SETUP  YY_RULE_SETUP
1422  #line 265 "scan-gram.l"  #line 260 "scan-gram.l"
1423  obstack_1grow (&string_obstack, '\n'); YY_LINES;  obstack_1grow (&string_obstack, '\n'); YY_LINES;
1424          YY_BREAK          YY_BREAK
1425  case YY_STATE_EOF(SC_ESCAPED_STRING):  case YY_STATE_EOF(SC_ESCAPED_STRING):
1426  #line 267 "scan-gram.l"  #line 262 "scan-gram.l"
1427  {  {
1428      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1429      fprintf (stderr, ": unexpected end of file in a string\n");      fprintf (stderr, ": unexpected end of file in a string\n");
# Line 1448  case YY_STATE_EOF(SC_ESCAPED_STRING): Line 1443  case YY_STATE_EOF(SC_ESCAPED_STRING):
1443    
1444  case 54:  case 54:
1445  YY_RULE_SETUP  YY_RULE_SETUP
1446  #line 285 "scan-gram.l"  #line 280 "scan-gram.l"
1447  {  {
1448      YY_OBS_GROW;      YY_OBS_GROW;
1449      assert (yy_top_state () == INITIAL);      assert (yy_top_state () == INITIAL);
# Line 1465  YY_RULE_SETUP Line 1460  YY_RULE_SETUP
1460          YY_BREAK          YY_BREAK
1461  case 55:  case 55:
1462  YY_RULE_SETUP  YY_RULE_SETUP
1463  #line 299 "scan-gram.l"  #line 294 "scan-gram.l"
1464  YY_OBS_GROW;  YY_OBS_GROW;
1465          YY_BREAK          YY_BREAK
1466  case 56:  case 56:
1467  YY_RULE_SETUP  YY_RULE_SETUP
1468  #line 301 "scan-gram.l"  #line 296 "scan-gram.l"
1469  obstack_1grow (&string_obstack, '\n'); YY_LINES;  obstack_1grow (&string_obstack, '\n'); YY_LINES;
1470          YY_BREAK          YY_BREAK
1471  case YY_STATE_EOF(SC_ESCAPED_CHARACTER):  case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
1472  #line 303 "scan-gram.l"  #line 298 "scan-gram.l"
1473  {  {
1474      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1475      fprintf (stderr, ": unexpected end of file in a character\n");      fprintf (stderr, ": unexpected end of file in a character\n");
# Line 1493  case YY_STATE_EOF(SC_ESCAPED_CHARACTER): Line 1488  case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
1488    
1489  case 57:  case 57:
1490  YY_RULE_SETUP  YY_RULE_SETUP
1491  #line 321 "scan-gram.l"  #line 316 "scan-gram.l"
1492  {  {
1493      long c = strtol (yytext + 1, 0, 8);      long c = strtol (yytext + 1, 0, 8);
1494      if (c > 255)      if (c > 255)
# Line 1508  YY_RULE_SETUP Line 1503  YY_RULE_SETUP
1503          YY_BREAK          YY_BREAK
1504  case 58:  case 58:
1505  YY_RULE_SETUP  YY_RULE_SETUP
1506  #line 333 "scan-gram.l"  #line 328 "scan-gram.l"
1507  {  {
1508      obstack_1grow (&string_obstack, strtol (yytext + 2, 0, 16));      obstack_1grow (&string_obstack, strtol (yytext + 2, 0, 16));
1509    }    }
1510          YY_BREAK          YY_BREAK
1511  case 59:  case 59:
1512  YY_RULE_SETUP  YY_RULE_SETUP
1513  #line 337 "scan-gram.l"  #line 332 "scan-gram.l"
1514  obstack_1grow (&string_obstack, '\a');  obstack_1grow (&string_obstack, '\a');
1515          YY_BREAK          YY_BREAK
1516  case 60:  case 60:
1517  YY_RULE_SETUP  YY_RULE_SETUP
1518  #line 338 "scan-gram.l"  #line 333 "scan-gram.l"
1519  obstack_1grow (&string_obstack, '\b');  obstack_1grow (&string_obstack, '\b');
1520          YY_BREAK          YY_BREAK
1521  case 61:  case 61:
1522  YY_RULE_SETUP  YY_RULE_SETUP
1523  #line 339 "scan-gram.l"  #line 334 "scan-gram.l"
1524  obstack_1grow (&string_obstack, '\f');  obstack_1grow (&string_obstack, '\f');
1525          YY_BREAK          YY_BREAK
1526  case 62:  case 62:
1527  YY_RULE_SETUP  YY_RULE_SETUP
1528  #line 340 "scan-gram.l"  #line 335 "scan-gram.l"
1529  obstack_1grow (&string_obstack, '\n');  obstack_1grow (&string_obstack, '\n');
1530          YY_BREAK          YY_BREAK
1531  case 63:  case 63:
1532  YY_RULE_SETUP  YY_RULE_SETUP
1533  #line 341 "scan-gram.l"  #line 336 "scan-gram.l"
1534  obstack_1grow (&string_obstack, '\r');  obstack_1grow (&string_obstack, '\r');
1535          YY_BREAK          YY_BREAK
1536  case 64:  case 64:
1537  YY_RULE_SETUP  YY_RULE_SETUP
1538  #line 342 "scan-gram.l"  #line 337 "scan-gram.l"
1539  obstack_1grow (&string_obstack, '\t');  obstack_1grow (&string_obstack, '\t');
1540          YY_BREAK          YY_BREAK
1541  case 65:  case 65:
1542  YY_RULE_SETUP  YY_RULE_SETUP
1543  #line 343 "scan-gram.l"  #line 338 "scan-gram.l"
1544  obstack_1grow (&string_obstack, '\v');  obstack_1grow (&string_obstack, '\v');
1545          YY_BREAK          YY_BREAK
1546  case 66:  case 66:
1547  YY_RULE_SETUP  YY_RULE_SETUP
1548  #line 344 "scan-gram.l"  #line 339 "scan-gram.l"
1549  obstack_1grow (&string_obstack, yytext[1]);  obstack_1grow (&string_obstack, yytext[1]);
1550          YY_BREAK          YY_BREAK
1551  case 67:  case 67:
1552  YY_RULE_SETUP  YY_RULE_SETUP
1553  #line 345 "scan-gram.l"  #line 340 "scan-gram.l"
1554  {  {
1555      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1556      fprintf (stderr, ": unrecognized escape: %s\n", yytext);      fprintf (stderr, ": unrecognized escape: %s\n", yytext);
# Line 1571  YY_RULE_SETUP Line 1566  YY_RULE_SETUP
1566    
1567  case 68:  case 68:
1568  YY_RULE_SETUP  YY_RULE_SETUP
1569  #line 360 "scan-gram.l"  #line 355 "scan-gram.l"
1570  {  {
1571      YY_OBS_GROW;      YY_OBS_GROW;
1572      assert (yy_top_state () != INITIAL);      assert (yy_top_state () != INITIAL);
# Line 1580  YY_RULE_SETUP Line 1575  YY_RULE_SETUP
1575          YY_BREAK          YY_BREAK
1576  case 69:  case 69:
1577  YY_RULE_SETUP  YY_RULE_SETUP
1578  #line 366 "scan-gram.l"  #line 361 "scan-gram.l"
1579  YY_OBS_GROW;  YY_OBS_GROW;
1580          YY_BREAK          YY_BREAK
1581  case 70:  case 70:
1582  YY_RULE_SETUP  YY_RULE_SETUP
1583  #line 367 "scan-gram.l"  #line 362 "scan-gram.l"
1584  YY_OBS_GROW;  YY_OBS_GROW;
1585          YY_BREAK          YY_BREAK
1586  case 71:  case 71:
1587  YY_RULE_SETUP  YY_RULE_SETUP
1588  #line 369 "scan-gram.l"  #line 364 "scan-gram.l"
1589  YY_OBS_GROW; YY_LINES;  YY_OBS_GROW; YY_LINES;
1590          YY_BREAK          YY_BREAK
1591  case YY_STATE_EOF(SC_CHARACTER):  case YY_STATE_EOF(SC_CHARACTER):
1592  #line 371 "scan-gram.l"  #line 366 "scan-gram.l"
1593  {  {
1594      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1595      fprintf (stderr, ": unexpected end of file in a character\n");      fprintf (stderr, ": unexpected end of file in a character\n");
# Line 1611  case YY_STATE_EOF(SC_CHARACTER): Line 1606  case YY_STATE_EOF(SC_CHARACTER):
1606    
1607  case 72:  case 72:
1608  YY_RULE_SETUP  YY_RULE_SETUP
1609  #line 387 "scan-gram.l"  #line 382 "scan-gram.l"
1610  {  {
1611      assert (yy_top_state () != INITIAL);      assert (yy_top_state () != INITIAL);
1612      YY_OBS_GROW;      YY_OBS_GROW;
# Line 1620  YY_RULE_SETUP Line 1615  YY_RULE_SETUP
1615          YY_BREAK          YY_BREAK
1616  case 73:  case 73:
1617  YY_RULE_SETUP  YY_RULE_SETUP
1618  #line 393 "scan-gram.l"  #line 388 "scan-gram.l"
1619  YY_OBS_GROW;  YY_OBS_GROW;
1620          YY_BREAK          YY_BREAK
1621  case 74:  case 74:
1622  YY_RULE_SETUP  YY_RULE_SETUP
1623  #line 394 "scan-gram.l"  #line 389 "scan-gram.l"
1624  YY_OBS_GROW;  YY_OBS_GROW;
1625          YY_BREAK          YY_BREAK
1626  case 75:  case 75:
1627  YY_RULE_SETUP  YY_RULE_SETUP
1628  #line 396 "scan-gram.l"  #line 391 "scan-gram.l"
1629  YY_OBS_GROW; YY_LINES;  YY_OBS_GROW; YY_LINES;
1630          YY_BREAK          YY_BREAK
1631  case YY_STATE_EOF(SC_STRING):  case YY_STATE_EOF(SC_STRING):
1632  #line 398 "scan-gram.l"  #line 393 "scan-gram.l"
1633  {  {
1634      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1635      fprintf (stderr, ": unexpected end of file in a string\n");      fprintf (stderr, ": unexpected end of file in a string\n");
# Line 1651  case YY_STATE_EOF(SC_STRING): Line 1646  case YY_STATE_EOF(SC_STRING):
1646  /* Characters.  We don't check there is only one.  */  /* Characters.  We don't check there is only one.  */
1647  case 76:  case 76:
1648  YY_RULE_SETUP  YY_RULE_SETUP
1649  #line 414 "scan-gram.l"  #line 409 "scan-gram.l"
1650  YY_OBS_GROW; yy_push_state (SC_CHARACTER);  YY_OBS_GROW; yy_push_state (SC_CHARACTER);
1651          YY_BREAK          YY_BREAK
1652  /* Strings. */  /* Strings. */
1653  case 77:  case 77:
1654  YY_RULE_SETUP  YY_RULE_SETUP
1655  #line 417 "scan-gram.l"  #line 412 "scan-gram.l"
1656  YY_OBS_GROW; yy_push_state (SC_STRING);  YY_OBS_GROW; yy_push_state (SC_STRING);
1657          YY_BREAK          YY_BREAK
1658  /* Comments. */  /* Comments. */
1659  case 78:  case 78:
1660  YY_RULE_SETUP  YY_RULE_SETUP
1661  #line 420 "scan-gram.l"  #line 415 "scan-gram.l"
1662  YY_OBS_GROW; yy_push_state (SC_COMMENT);  YY_OBS_GROW; yy_push_state (SC_COMMENT);
1663          YY_BREAK          YY_BREAK
1664  case 79:  case 79:
1665  YY_RULE_SETUP  YY_RULE_SETUP
1666  #line 421 "scan-gram.l"  #line 416 "scan-gram.l"
1667  YY_OBS_GROW;  YY_OBS_GROW;
1668          YY_BREAK          YY_BREAK
1669    
# Line 1680  YY_OBS_GROW; Line 1675  YY_OBS_GROW;
1675    
1676  case 80:  case 80:
1677  YY_RULE_SETUP  YY_RULE_SETUP
1678  #line 432 "scan-gram.l"  #line 427 "scan-gram.l"
1679  {  {
1680      YY_OBS_GROW;      YY_OBS_GROW;
1681      if (--braces_level == 0)      if (--braces_level == 0)
# Line 1694  YY_RULE_SETUP Line 1689  YY_RULE_SETUP
1689          YY_BREAK          YY_BREAK
1690  case 81:  case 81:
1691  YY_RULE_SETUP  YY_RULE_SETUP
1692  #line 443 "scan-gram.l"  #line 438 "scan-gram.l"
1693  YY_OBS_GROW; braces_level++;  YY_OBS_GROW; braces_level++;
1694          YY_BREAK          YY_BREAK
1695  case 82:  case 82:
1696  YY_RULE_SETUP  YY_RULE_SETUP
1697  #line 445 "scan-gram.l"  #line 440 "scan-gram.l"
1698  { handle_dollar (yytext); }  { handle_dollar (yytext); }
1699          YY_BREAK          YY_BREAK
1700  case 83:  case 83:
1701  YY_RULE_SETUP  YY_RULE_SETUP
1702  #line 446 "scan-gram.l"  #line 441 "scan-gram.l"
1703  { handle_at (yytext); }  { handle_at (yytext); }
1704          YY_BREAK          YY_BREAK
1705  case 84:  case 84:
1706  YY_RULE_SETUP  YY_RULE_SETUP
1707  #line 448 "scan-gram.l"  #line 443 "scan-gram.l"
1708  YY_OBS_GROW;  YY_OBS_GROW;
1709          YY_BREAK          YY_BREAK
1710  case 85:  case 85:
1711  YY_RULE_SETUP  YY_RULE_SETUP
1712  #line 449 "scan-gram.l"  #line 444 "scan-gram.l"
1713  YY_OBS_GROW; YY_LINES;  YY_OBS_GROW; YY_LINES;
1714          YY_BREAK          YY_BREAK
1715  /* A lose $, or /, or etc. */  /* A lose $, or /, or etc. */
1716  case 86:  case 86:
1717  YY_RULE_SETUP  YY_RULE_SETUP
1718  #line 452 "scan-gram.l"  #line 447 "scan-gram.l"
1719  YY_OBS_GROW;  YY_OBS_GROW;
1720          YY_BREAK          YY_BREAK
1721  case YY_STATE_EOF(SC_BRACED_CODE):  case YY_STATE_EOF(SC_BRACED_CODE):
1722  #line 454 "scan-gram.l"  #line 449 "scan-gram.l"
1723  {  {
1724      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1725      fprintf (stderr, ": unexpected end of file in a braced code\n");      fprintf (stderr, ": unexpected end of file in a braced code\n");
# Line 1742  case YY_STATE_EOF(SC_BRACED_CODE): Line 1737  case YY_STATE_EOF(SC_BRACED_CODE):
1737    
1738  case 87:  case 87:
1739  YY_RULE_SETUP  YY_RULE_SETUP
1740  #line 472 "scan-gram.l"  #line 467 "scan-gram.l"
1741  {  {
1742      yy_pop_state ();      yy_pop_state ();
1743      YY_OBS_FINISH;      YY_OBS_FINISH;
# Line 1752  YY_RULE_SETUP Line 1747  YY_RULE_SETUP
1747          YY_BREAK          YY_BREAK
1748  case 88:  case 88:
1749  YY_RULE_SETUP  YY_RULE_SETUP
1750  #line 479 "scan-gram.l"  #line 474 "scan-gram.l"
1751  YY_OBS_GROW;  YY_OBS_GROW;
1752          YY_BREAK          YY_BREAK
1753  case 89:  case 89:
1754  YY_RULE_SETUP  YY_RULE_SETUP
1755  #line 480 "scan-gram.l"  #line 475 "scan-gram.l"
1756  YY_OBS_GROW;  YY_OBS_GROW;
1757          YY_BREAK          YY_BREAK
1758  case 90:  case 90:
1759  YY_RULE_SETUP  YY_RULE_SETUP
1760  #line 481 "scan-gram.l"  #line 476 "scan-gram.l"
1761  YY_OBS_GROW; YY_LINES;  YY_OBS_GROW; YY_LINES;
1762          YY_BREAK          YY_BREAK
1763  case YY_STATE_EOF(SC_PROLOGUE):  case YY_STATE_EOF(SC_PROLOGUE):
1764  #line 483 "scan-gram.l"  #line 478 "scan-gram.l"
1765  {  {
1766      LOCATION_PRINT (stderr, *yylloc);      LOCATION_PRINT (stderr, *yylloc);
1767      fprintf (stderr, ": unexpected end of file in a prologue\n");      fprintf (stderr, ": unexpected end of file in a prologue\n");
# Line 1785  case YY_STATE_EOF(SC_PROLOGUE): Line 1780  case YY_STATE_EOF(SC_PROLOGUE):
1780    
1781  case 91:  case 91:
1782  YY_RULE_SETUP  YY_RULE_SETUP
1783  #line 502 "scan-gram.l"  #line 497 "scan-gram.l"
1784  YY_OBS_GROW;  YY_OBS_GROW;
1785          YY_BREAK          YY_BREAK
1786  case YY_STATE_EOF(SC_EPILOGUE):  case YY_STATE_EOF(SC_EPILOGUE):
1787  #line 504 "scan-gram.l"  #line 499 "scan-gram.l"
1788  {  {
1789      yy_pop_state ();      yy_pop_state ();
1790      YY_OBS_FINISH;      YY_OBS_FINISH;
# Line 1800  case YY_STATE_EOF(SC_EPILOGUE): Line 1795  case YY_STATE_EOF(SC_EPILOGUE):
1795    
1796  case 92:  case 92:
1797  YY_RULE_SETUP  YY_RULE_SETUP
1798  #line 513 "scan-gram.l"  #line 508 "scan-gram.l"
1799  YY_FATAL_ERROR( "flex scanner jammed" );  YY_FATAL_ERROR( "flex scanner jammed" );
1800          YY_BREAK          YY_BREAK
1801  #line 1807 "scan-gram.c"  #line 1802 "scan-gram.c"
1802  case YY_STATE_EOF(INITIAL):  case YY_STATE_EOF(INITIAL):
1803          yyterminate();          yyterminate();
1804    
# Line 2693  int main() Line 2688  int main()
2688          return 0;          return 0;
2689          }          }
2690  #endif  #endif
2691  #line 513 "scan-gram.l"  #line 508 "scan-gram.l"
2692    
2693    
2694  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
# Line 2812  handle_at (char *cp) Line 2807  handle_at (char *cp)
2807  }  }
2808    
2809  void  void
2810    scanner_initialize (void)
2811    {
2812      obstack_init (&string_obstack);
2813    }
2814    
2815    
2816    void
2817  scanner_free (void)  scanner_free (void)
2818  {  {
2819    obstack_free (&string_obstack, 0);    obstack_free (&string_obstack, 0);

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

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