Fortran: Teach lexer about Intel's upper-case preprocessor directives

Intel Fortran's preprocessor supports upper-case preprocessor
directives (but not mixed-case).

Fixes: #28098
This commit is contained in:
Brad King
2026-09-17 15:20:23 -04:00
parent 833d9466d7
commit ff39abb378
2 changed files with 192 additions and 171 deletions
+180 -159
View File
@@ -557,7 +557,7 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static const flex_int16_t yy_accept[216] =
static const flex_int16_t yy_accept[247] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
56, 50, 52, 51, 54, 1, 50, 34, 2, 48,
@@ -567,22 +567,25 @@ static const flex_int16_t yy_accept[216] =
0, 0, 0, 0, 34, 34, 35, 37, 40, 50,
47, 47, 47, 47, 47, 47, 0, 53, 0, 47,
0, 0, 0, 12, 0, 0, 0, 0, 0, 0,
0, 50, 0, 11, 47, 0, 0, 0, 5, 0,
0, 0, 0, 0, 30, 0, 34, 34, 34, 34,
0, 0, 0, 0, 0, 0, 50, 0, 11, 47,
0, 0, 0, 5, 0, 0, 0, 0, 0, 30,
0, 0, 41, 47, 47, 47, 47, 46, 12, 12,
0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
47, 47, 47, 47, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 31, 32, 0,
0, 0, 0, 0, 47, 47, 47, 47, 0, 25,
26, 0, 0, 0, 0, 13, 0, 0, 0, 0,
21, 33, 28, 0, 0, 0, 47, 47, 44, 47,
0, 27, 22, 0, 0, 13, 20, 0, 0, 19,
29, 0, 0, 42, 47, 47, 18, 23, 0, 7,
0, 34, 34, 34, 34, 0, 0, 41, 47, 47,
47, 47, 46, 12, 12, 0, 0, 0, 24, 0,
0, 0, 0, 0, 0, 24, 0, 0, 0, 0,
0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
0, 0, 47, 47, 47, 47, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 31, 32,
0, 0, 0, 0, 0, 47, 47, 47, 47, 0,
25, 26, 0, 0, 0, 0, 13, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 21, 33, 28,
39, 7, 16, 0, 47, 47, 15, 17, 43, 45,
0, 0, 0, 14, 0
0, 0, 0, 47, 47, 44, 47, 0, 27, 22,
0, 0, 13, 20, 0, 0, 0, 0, 0, 19,
29, 0, 0, 42, 47, 47, 18, 23, 0, 0,
7, 39, 7, 16, 0, 47, 47, 15, 17, 43,
45, 0, 0, 0, 14, 0
} ;
static const YY_CHAR yy_ec[256] =
@@ -626,129 +629,141 @@ static const YY_CHAR yy_meta[50] =
7, 7, 7, 7, 7, 7, 7, 7, 7
} ;
static const flex_int16_t yy_base[225] =
static const flex_int16_t yy_base[256] =
{ 0,
0, 48, 0, 49, 55, 58, 64, 66, 75, 83,
491, 0, 492, 492, 487, 492, 86, 92, 492, 492,
492, 492, 472, 492, 467, 465, 0, 56, 59, 452,
66, 16, 105, 131, 109, 170, 480, 481, 219, 259,
492, 478, 479, 116, 492, 492, 0, 478, 492, 111,
453, 446, 34, 78, 155, 174, 492, 492, 492, 121,
0, 29, 105, 101, 454, 101, 131, 492, 474, 0,
180, 307, 0, 146, 433, 117, 94, 430, 427, 468,
467, 356, 468, 492, 0, 465, 464, 187, 191, 465,
439, 440, 149, 423, 126, 423, 200, 240, 311, 322,
545, 0, 546, 546, 541, 546, 86, 92, 546, 546,
546, 546, 526, 546, 521, 519, 0, 56, 59, 506,
66, 16, 105, 131, 109, 171, 534, 535, 220, 260,
546, 532, 533, 116, 546, 546, 0, 532, 546, 111,
507, 500, 34, 78, 155, 202, 546, 546, 546, 121,
0, 29, 105, 101, 508, 101, 131, 546, 528, 0,
173, 308, 0, 146, 503, 136, 135, 499, 495, 484,
136, 94, 481, 478, 519, 518, 357, 519, 546, 0,
516, 515, 222, 184, 516, 490, 491, 129, 474, 149,
206, 416, 0, 152, 180, 176, 430, 0, 216, 224,
417, 186, 418, 127, 418, 411, 415, 451, 450, 247,
492, 423, 416, 398, 393, 373, 364, 364, 359, 353,
198, 358, 178, 358, 346, 346, 346, 343, 344, 344,
338, 340, 339, 376, 374, 343, 346, 492, 492, 329,
325, 324, 313, 315, 211, 211, 291, 293, 313, 492,
492, 314, 304, 304, 261, 328, 212, 249, 243, 203,
492, 492, 492, 173, 158, 150, 293, 172, 0, 273,
144, 492, 492, 137, 125, 335, 492, 339, 0, 492,
492, 112, 63, 0, 304, 300, 492, 492, 58, 492,
474, 241, 312, 323, 338, 213, 467, 0, 153, 176,
184, 481, 0, 233, 235, 484, 218, 485, 162, 485,
476, 482, 463, 205, 464, 210, 464, 457, 461, 497,
496, 354, 546, 470, 472, 454, 454, 451, 452, 452,
447, 451, 274, 456, 290, 456, 459, 460, 460, 456,
458, 458, 452, 455, 454, 435, 435, 435, 432, 433,
433, 428, 430, 429, 466, 465, 436, 440, 546, 546,
423, 422, 421, 405, 407, 305, 317, 325, 341, 414,
546, 546, 401, 390, 390, 378, 370, 377, 357, 358,
357, 356, 346, 350, 386, 376, 353, 546, 546, 546,
492, 492, 492, 30, 311, 312, 361, 492, 0, 0,
366, 0, 44, 492, 492, 396, 403, 409, 412, 419,
426, 433, 440, 447
319, 320, 300, 342, 314, 0, 281, 305, 546, 546,
292, 285, 372, 546, 213, 211, 158, 228, 0, 546,
546, 121, 113, 0, 357, 324, 546, 546, 78, 58,
546, 546, 546, 546, 30, 357, 360, 387, 546, 0,
0, 388, 0, 44, 546, 546, 407, 414, 420, 423,
430, 437, 444, 451, 458
} ;
static const flex_int16_t yy_def[225] =
static const flex_int16_t yy_def[256] =
{ 0,
215, 1, 1, 1, 1, 1, 216, 216, 216, 216,
215, 217, 215, 215, 218, 215, 217, 215, 215, 215,
215, 215, 215, 215, 215, 217, 219, 219, 219, 219,
219, 219, 217, 219, 215, 217, 215, 215, 220, 215,
215, 215, 215, 215, 215, 215, 217, 218, 215, 215,
215, 215, 215, 215, 215, 221, 215, 215, 215, 217,
219, 219, 219, 219, 219, 219, 215, 215, 215, 34,
215, 215, 72, 217, 215, 215, 215, 215, 215, 215,
215, 220, 220, 215, 40, 215, 215, 215, 215, 215,
215, 215, 215, 215, 215, 215, 221, 221, 221, 221,
246, 1, 1, 1, 1, 1, 247, 247, 247, 247,
246, 248, 246, 246, 249, 246, 248, 246, 246, 246,
246, 246, 246, 246, 246, 248, 250, 250, 250, 250,
250, 250, 248, 250, 246, 246, 246, 246, 251, 246,
246, 246, 246, 246, 246, 246, 248, 249, 246, 246,
246, 246, 246, 246, 246, 252, 246, 246, 246, 248,
250, 250, 250, 250, 250, 250, 246, 246, 246, 34,
246, 246, 72, 248, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 251, 251, 246, 40,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
215, 215, 219, 219, 219, 219, 219, 219, 215, 215,
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
219, 219, 219, 219, 215, 215, 215, 215, 215, 215,
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
215, 215, 215, 215, 219, 219, 219, 219, 215, 215,
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
215, 215, 215, 215, 215, 215, 219, 219, 219, 219,
215, 215, 215, 215, 215, 215, 215, 222, 223, 215,
215, 215, 215, 219, 219, 219, 215, 215, 215, 215,
246, 252, 252, 252, 252, 246, 246, 250, 250, 250,
250, 250, 250, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 250, 250, 250, 250, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 250, 250, 250, 250, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
215, 215, 215, 215, 219, 219, 215, 215, 219, 219,
215, 224, 224, 215, 0, 215, 215, 215, 215, 215,
215, 215, 215, 215
246, 246, 246, 250, 250, 250, 250, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 253, 254, 246,
246, 246, 246, 250, 250, 250, 246, 246, 246, 246,
246, 246, 246, 246, 246, 250, 250, 246, 246, 250,
250, 246, 255, 255, 246, 0, 246, 246, 246, 246,
246, 246, 246, 246, 246
} ;
static const flex_int16_t yy_nxt[542] =
static const flex_int16_t yy_nxt[596] =
{ 0,
12, 13, 14, 13, 13, 15, 16, 12, 17, 18,
19, 20, 21, 12, 22, 12, 23, 24, 12, 25,
12, 26, 27, 27, 27, 27, 28, 27, 27, 29,
27, 30, 27, 27, 27, 31, 27, 32, 33, 34,
27, 27, 28, 27, 29, 27, 27, 31, 32, 35,
35, 66, 35, 35, 103, 36, 36, 37, 38, 35,
37, 38, 35, 66, 214, 36, 42, 43, 42, 43,
103, 39, 208, 44, 45, 44, 45, 42, 43, 93,
94, 46, 40, 40, 44, 42, 43, 50, 62, 46,
35, 66, 35, 35, 108, 36, 36, 37, 38, 35,
37, 38, 35, 66, 245, 36, 42, 43, 42, 43,
108, 39, 239, 44, 45, 44, 45, 42, 43, 98,
99, 46, 40, 40, 44, 42, 43, 50, 62, 46,
50, 63, 44, 55, 55, 55, 55, 56, 40, 40,
207, 57, 62, 65, 204, 63, 67, 68, 69, 67,
71, 51, 50, 71, 65, 50, 72, 88, 89, 90,
88, 95, 101, 52, 96, 101, 106, 108, 53, 104,
54, 47, 67, 68, 69, 67, 51, 114, 47, 47,
115, 105, 106, 108, 47, 104, 70, 110, 52, 47,
110, 47, 47, 53, 203, 54, 55, 55, 55, 55,
56, 74, 112, 113, 57, 102, 199, 127, 139, 47,
70, 73, 128, 140, 73, 98, 55, 98, 98, 99,
198, 71, 131, 100, 71, 74, 197, 72, 88, 89,
90, 88, 120, 124, 195, 120, 125, 131, 193, 192,
238, 57, 62, 65, 238, 63, 67, 68, 69, 67,
71, 51, 50, 71, 65, 50, 72, 93, 94, 95,
93, 100, 106, 52, 101, 106, 111, 113, 53, 109,
54, 47, 67, 68, 69, 67, 51, 126, 47, 47,
127, 110, 111, 113, 47, 109, 70, 115, 52, 47,
115, 47, 47, 53, 235, 54, 55, 55, 55, 55,
56, 74, 119, 234, 57, 107, 117, 120, 118, 47,
70, 47, 73, 136, 71, 73, 137, 71, 47, 47,
72, 124, 125, 143, 47, 132, 74, 151, 132, 47,
139, 47, 47, 133, 152, 140, 75, 76, 143, 230,
121, 98, 55, 98, 98, 99, 132, 101, 157, 100,
101, 75, 76, 133, 77, 78, 191, 110, 79, 82,
110, 84, 132, 157, 133, 110, 82, 82, 110, 190,
136, 109, 82, 137, 82, 155, 177, 82, 178, 82,
82, 98, 55, 98, 98, 99, 155, 189, 120, 100,
102, 120, 177, 188, 178, 187, 121, 82, 82, 83,
83, 84, 83, 83, 83, 83, 83, 83, 83, 83,
83, 83, 83, 83, 85, 83, 83, 83, 83, 83,
83, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 83, 85, 85,
77, 78, 144, 103, 55, 103, 103, 104, 79, 47,
47, 105, 80, 81, 106, 82, 83, 106, 144, 84,
87, 145, 89, 93, 94, 95, 93, 87, 87, 232,
232, 232, 145, 87, 115, 87, 115, 115, 87, 115,
87, 87, 103, 55, 103, 103, 104, 148, 114, 157,
105, 160, 158, 149, 228, 227, 161, 107, 87, 87,
88, 88, 89, 88, 88, 88, 88, 88, 88, 88,
88, 88, 88, 88, 88, 90, 88, 88, 88, 88,
88, 88, 90, 90, 90, 90, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 90, 90, 88, 90,
85, 85, 85, 85, 85, 85, 85, 85, 73, 185,
196, 73, 98, 55, 98, 98, 99, 179, 180, 194,
100, 196, 109, 98, 55, 98, 98, 99, 205, 186,
206, 100, 186, 179, 180, 194, 186, 209, 210, 186,
201, 201, 201, 109, 205, 206, 184, 183, 75, 76,
109, 77, 78, 209, 210, 79, 82, 182, 84, 181,
176, 175, 211, 82, 82, 211, 174, 211, 173, 82,
211, 82, 172, 171, 82, 170, 82, 82, 169, 212,
168, 167, 166, 165, 212, 164, 163, 162, 161, 160,
159, 158, 156, 154, 82, 82, 41, 41, 41, 41,
90, 90, 90, 90, 90, 90, 90, 90, 90, 73,
229, 176, 73, 103, 55, 103, 103, 104, 226, 228,
178, 105, 176, 114, 103, 55, 103, 103, 104, 226,
204, 227, 105, 75, 76, 178, 225, 77, 78, 103,
55, 103, 103, 104, 205, 79, 204, 105, 223, 80,
81, 206, 82, 83, 237, 132, 84, 87, 132, 89,
205, 222, 221, 133, 87, 87, 207, 206, 224, 237,
87, 213, 87, 213, 213, 87, 213, 87, 87, 220,
219, 236, 207, 240, 224, 114, 241, 114, 242, 242,
218, 242, 242, 214, 217, 87, 87, 236, 216, 240,
41, 41, 41, 47, 153, 152, 151, 47, 47, 48,
48, 48, 48, 48, 48, 48, 61, 150, 61, 83,
83, 83, 83, 83, 83, 83, 97, 97, 97, 97,
97, 97, 97, 200, 200, 149, 200, 200, 200, 200,
202, 148, 147, 202, 202, 202, 202, 213, 213, 213,
213, 213, 146, 213, 145, 144, 143, 142, 141, 138,
135, 134, 130, 129, 126, 123, 122, 89, 86, 119,
84, 80, 118, 117, 116, 111, 68, 107, 92, 91,
49, 87, 86, 81, 80, 64, 60, 59, 58, 49,
215, 11, 215, 215, 215, 215, 215, 215, 215, 215,
210, 209, 241, 215, 214, 243, 243, 41, 41, 41,
41, 41, 41, 41, 47, 212, 211, 210, 47, 47,
48, 48, 48, 48, 48, 48, 48, 61, 209, 61,
88, 88, 88, 88, 88, 88, 88, 102, 102, 102,
102, 102, 102, 102, 231, 231, 208, 231, 231, 231,
231, 233, 203, 202, 233, 233, 233, 233, 244, 244,
244, 244, 244, 201, 244, 200, 199, 198, 197, 196,
195, 194, 187, 193, 192, 191, 190, 182, 181, 189,
188, 187, 186, 185, 184, 183, 182, 181, 180, 179,
177, 175, 174, 173, 172, 171, 170, 169, 168, 167,
166, 165, 164, 163, 162, 159, 156, 155, 154, 153,
150, 147, 146, 142, 141, 138, 135, 134, 94, 91,
131, 89, 85, 130, 129, 128, 123, 122, 121, 116,
68, 112, 97, 96, 49, 92, 91, 86, 85, 64,
60, 59, 58, 49, 246, 11, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
215
} ;
static const flex_int16_t yy_chk[542] =
static const flex_int16_t yy_chk[596] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -756,60 +771,66 @@ static const flex_int16_t yy_chk[542] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
4, 32, 2, 4, 62, 2, 4, 5, 5, 6,
6, 6, 6, 32, 213, 6, 7, 7, 8, 8,
62, 6, 204, 7, 7, 8, 8, 9, 9, 53,
6, 6, 6, 32, 244, 6, 7, 7, 8, 8,
62, 6, 235, 7, 7, 8, 8, 9, 9, 53,
53, 9, 6, 6, 9, 10, 10, 17, 28, 10,
17, 29, 10, 18, 18, 18, 18, 18, 6, 6,
199, 18, 28, 31, 193, 29, 33, 33, 33, 33,
230, 18, 28, 31, 229, 29, 33, 33, 33, 33,
35, 17, 50, 35, 31, 50, 35, 44, 44, 44,
44, 54, 60, 17, 54, 60, 64, 66, 17, 63,
17, 34, 67, 67, 67, 67, 50, 77, 34, 34,
77, 63, 64, 66, 34, 63, 34, 74, 50, 34,
74, 34, 34, 50, 192, 50, 55, 55, 55, 55,
55, 74, 76, 76, 55, 60, 185, 95, 114, 34,
34, 36, 95, 114, 36, 56, 56, 56, 56, 56,
184, 71, 104, 56, 71, 36, 181, 71, 88, 88,
88, 88, 89, 93, 178, 89, 93, 104, 176, 175,
17, 34, 67, 67, 67, 67, 50, 82, 34, 34,
82, 63, 64, 66, 34, 63, 34, 74, 50, 34,
74, 34, 34, 50, 223, 50, 55, 55, 55, 55,
55, 74, 77, 222, 55, 60, 76, 77, 76, 34,
34, 36, 36, 98, 71, 36, 98, 71, 36, 36,
71, 81, 81, 109, 36, 94, 36, 119, 94, 36,
100, 36, 36, 94, 119, 100, 36, 36, 109, 217,
89, 97, 97, 97, 97, 97, 105, 101, 133, 97,
101, 36, 36, 106, 36, 36, 174, 109, 36, 39,
109, 39, 105, 133, 106, 110, 39, 39, 110, 170,
112, 109, 39, 112, 39, 131, 155, 39, 156, 39,
39, 98, 98, 98, 98, 98, 131, 169, 120, 98,
101, 120, 155, 168, 156, 167, 120, 39, 39, 40,
36, 36, 110, 56, 56, 56, 56, 56, 36, 36,
36, 56, 36, 36, 106, 36, 36, 106, 110, 36,
39, 111, 39, 93, 93, 93, 93, 39, 39, 218,
218, 218, 111, 39, 114, 39, 115, 114, 39, 115,
39, 39, 102, 102, 102, 102, 102, 117, 114, 124,
102, 126, 124, 117, 216, 215, 126, 106, 39, 39,
40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 40, 40, 40, 40, 40, 72, 165,
180, 72, 99, 99, 99, 99, 99, 157, 158, 177,
99, 180, 72, 100, 100, 100, 100, 100, 195, 166,
196, 100, 166, 157, 158, 177, 186, 205, 206, 186,
188, 188, 188, 166, 195, 196, 164, 163, 72, 72,
186, 72, 72, 205, 206, 72, 82, 162, 82, 159,
154, 153, 207, 82, 82, 207, 152, 211, 151, 82,
211, 82, 150, 147, 82, 146, 82, 82, 145, 207,
144, 143, 142, 141, 211, 140, 139, 138, 137, 136,
135, 134, 132, 130, 82, 82, 216, 216, 216, 216,
40, 40, 40, 40, 40, 40, 40, 40, 40, 72,
212, 143, 72, 103, 103, 103, 103, 103, 207, 211,
145, 103, 143, 72, 104, 104, 104, 104, 104, 207,
176, 208, 104, 72, 72, 145, 205, 72, 72, 105,
105, 105, 105, 105, 177, 72, 176, 105, 203, 72,
72, 178, 72, 72, 226, 132, 72, 87, 132, 87,
177, 202, 201, 132, 87, 87, 179, 178, 204, 226,
87, 187, 87, 213, 187, 87, 213, 87, 87, 197,
196, 225, 179, 236, 204, 187, 237, 213, 238, 242,
195, 238, 242, 194, 193, 87, 87, 225, 192, 236,
216, 216, 216, 217, 129, 128, 127, 217, 217, 218,
218, 218, 218, 218, 218, 218, 219, 126, 219, 220,
220, 220, 220, 220, 220, 220, 221, 221, 221, 221,
221, 221, 221, 222, 222, 125, 222, 222, 222, 222,
223, 124, 123, 223, 223, 223, 223, 224, 224, 224,
224, 224, 122, 224, 119, 118, 117, 116, 115, 113,
111, 107, 102, 96, 94, 92, 91, 90, 87, 86,
83, 81, 80, 79, 78, 75, 69, 65, 52, 51,
48, 43, 42, 38, 37, 30, 26, 25, 23, 15,
11, 215, 215, 215, 215, 215, 215, 215, 215, 215,
191, 190, 237, 189, 188, 238, 242, 247, 247, 247,
247, 247, 247, 247, 248, 186, 185, 184, 248, 248,
249, 249, 249, 249, 249, 249, 249, 250, 183, 250,
251, 251, 251, 251, 251, 251, 251, 252, 252, 252,
252, 252, 252, 252, 253, 253, 180, 253, 253, 253,
253, 254, 175, 174, 254, 254, 254, 254, 255, 255,
255, 255, 255, 173, 255, 172, 171, 168, 167, 166,
165, 164, 163, 162, 161, 160, 159, 158, 157, 156,
155, 154, 153, 152, 151, 150, 149, 148, 147, 146,
144, 142, 141, 140, 139, 138, 137, 136, 135, 134,
131, 130, 129, 128, 127, 125, 123, 122, 121, 120,
118, 116, 112, 107, 101, 99, 97, 96, 95, 92,
91, 88, 86, 85, 84, 83, 80, 79, 78, 75,
69, 65, 52, 51, 48, 43, 42, 38, 37, 30,
26, 25, 23, 15, 11, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
215
} ;
/* The intent behind this definition is that it'll catch
@@ -1148,13 +1169,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 216 )
if ( yy_current_state >= 247 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
while ( yy_base[yy_current_state] != 492 );
while ( yy_base[yy_current_state] != 546 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -1746,7 +1767,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 216 )
if ( yy_current_state >= 247 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -1775,11 +1796,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 216 )
if ( yy_current_state >= 247 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
yy_is_jam = (yy_current_state == 215);
yy_is_jam = (yy_current_state == 246);
(void)yyg;
return yy_is_jam ? 0 : yy_current_state;
+12 -12
View File
@@ -101,29 +101,29 @@ Modify cmFortranLexer.cxx:
!.*\n { return EOSTMT; } /* Treat comments like */
<fixed_fmt>^[cC*dD].*\n { return EOSTMT; } /* empty lines */
^[ \t]*#([ \t]*line)?[ \t]*[0-9]+[ \t]* { return CPP_LINE_DIRECTIVE; }
^[ \t]*#[ \t]*line[ \t]* { return CPP_LINE_DIRECTIVE; }
^[ \t]*#[ \t]*include[ \t]*<[^>]+> {
^[ \t]*#([ \t]*(line|LINE))?[ \t]*[0-9]+[ \t]* { return CPP_LINE_DIRECTIVE; }
^[ \t]*#[ \t]*(line|LINE)[ \t]* { return CPP_LINE_DIRECTIVE; }
^[ \t]*#[ \t]*(include|INCLUDE)[ \t]*<[^>]+> {
yytext[yyleng-1] = 0;
yylvalp->string = strdup(strchr(yytext, '<')+1);
return CPP_INCLUDE_ANGLE;
}
^[ \t]*#[ \t]*include { return CPP_INCLUDE; }
^[ \t]*#[ \t]*(include|INCLUDE) { return CPP_INCLUDE; }
\$[ \t]*include { return F90PPR_INCLUDE; }
\?\?[ \t]*include { return COCO_INCLUDE; }
^[ \t]*#[ \t]*define { return CPP_DEFINE; }
^[ \t]*#[ \t]*(define|DEFINE) { return CPP_DEFINE; }
\$[ \t]*DEFINE { return F90PPR_DEFINE; }
^[ \t]*#[ \t]*undef { return CPP_UNDEF; }
^[ \t]*#[ \t]*(undef|UNDEF) { return CPP_UNDEF; }
\$[ \t]*UNDEF { return F90PPR_UNDEF; }
^[ \t]*#[ \t]*ifdef { return CPP_IFDEF; }
^[ \t]*#[ \t]*ifndef { return CPP_IFNDEF; }
^[ \t]*#[ \t]*if { return CPP_IF; }
^[ \t]*#[ \t]*elif { return CPP_ELIF; }
^[ \t]*#[ \t]*else { return CPP_ELSE; }
^[ \t]*#[ \t]*endif { return CPP_ENDIF; }
^[ \t]*#[ \t]*(ifdef|IFDEF) { return CPP_IFDEF; }
^[ \t]*#[ \t]*(ifndef|IFNDEF) { return CPP_IFNDEF; }
^[ \t]*#[ \t]*(if|IF) { return CPP_IF; }
^[ \t]*#[ \t]*(elif|ELIF) { return CPP_ELIF; }
^[ \t]*#[ \t]*(else|ELSE) { return CPP_ELSE; }
^[ \t]*#[ \t]*(endif|ENDIF) { return CPP_ENDIF; }
$[ \t]*ifdef { return F90PPR_IFDEF; }
$[ \t]*ifndef { return F90PPR_IFNDEF; }