diff options
Diffstat (limited to 'src/pre.cpp')
-rw-r--r-- | src/pre.cpp | 1497 |
1 files changed, 771 insertions, 726 deletions
diff --git a/src/pre.cpp b/src/pre.cpp index aa77ed1..96f5312 100644 --- a/src/pre.cpp +++ b/src/pre.cpp @@ -394,7 +394,7 @@ static yyconst short int yy_acclist[768] = 34, 40, 39, 8212, 8212, 34, 8212 } ; -static yyconst short int yy_accept[364] = +static yyconst short int yy_accept[366] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -424,18 +424,18 @@ static yyconst short int yy_accept[364] = 619, 620, 621, 623, 625, 626, 627, 628, 629, 630, 630, 631, 633, 633, 634, 635, 636, 636, 637, 638, 639, 640, 641, 644, 644, 645, 646, 647, 648, 648, - 649, 650, 650, 651, 653, 655, 656, 657, 658, 659, - 660, 661, 662, 664, 667, 668, 671, 674, 675, 676, - 678, 681, 682, 685, 688, 689, 689, 690, 691, 692, - 694, 696, 697, 698, 700, 702, 703, 704, 705, 706, - - 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, - 717, 718, 718, 719, 719, 720, 721, 722, 723, 724, - 725, 726, 727, 728, 730, 731, 732, 733, 733, 734, - 736, 737, 738, 739, 740, 741, 742, 743, 745, 746, - 746, 747, 748, 749, 750, 751, 752, 753, 753, 754, - 755, 756, 758, 758, 759, 760, 762, 763, 764, 765, - 767, 768, 768 + 649, 650, 650, 651, 653, 655, 656, 657, 657, 658, + 659, 660, 661, 662, 664, 667, 668, 671, 674, 675, + 676, 678, 681, 682, 685, 688, 689, 689, 689, 690, + 691, 692, 694, 696, 697, 698, 700, 702, 703, 704, + + 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, + 715, 716, 717, 718, 718, 719, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 730, 731, 732, 733, + 733, 734, 736, 737, 738, 739, 740, 741, 742, 743, + 745, 746, 746, 747, 748, 749, 750, 751, 752, 753, + 753, 754, 755, 756, 758, 758, 759, 760, 762, 763, + 764, 765, 767, 768, 768 } ; static yyconst int yy_ec[256] = @@ -477,244 +477,244 @@ static yyconst int yy_meta[31] = 11, 11, 11, 11, 11, 11, 11, 11, 11, 1 } ; -static yyconst short int yy_base[404] = +static yyconst short int yy_base[406] = { 0, 0, 29, 58, 87, 117, 0, 147, 0, 176, 205, 235, 0, 264, 293, 322, 0, 334, 0, 361, 0, 390, 0, 419, 448, 477, 506, 535, 564, 593, 622, 651, 680, 709, 738, 767, 796, 825, 854, 884, 0, 905, 0, 933, 962, 991, 1020, 1032, 0, 1060, 1089, - 1118, 1147, 1176, 1205, 374, 1633, 1633, 1633, 1633, 1, + 1118, 1147, 1176, 1205, 378, 1633, 1633, 1633, 1633, 1, 1633, 1633, 1633, 0, 1633, 1633, 1633, 2, 1633, 1633, - 1633, 1633, 1633, 6, 0, 349, 0, 1, 342, 1633, - 1633, 1633, 1633, 1633, 7, 0, 9, 344, 1633, 0, + 1633, 1633, 1633, 6, 0, 354, 0, 1, 349, 1633, + 1633, 1633, 1633, 1633, 7, 0, 9, 351, 1633, 0, 0, 1633, 0, 8, 0, 1633, 1633, 1633, 1633, 18, 35, 1633, 31, 35, 36, 40, 39, 46, 61, 58, - 364, 363, 362, 341, 1633, 1633, 3, 1633, 1633, 1633, - 335, 1633, 36, 1633, 0, 336, 1633, 1633, 1633, 1633, + 371, 369, 366, 355, 1633, 1633, 3, 1633, 1633, 1633, + 360, 1633, 36, 1633, 0, 4, 1633, 1633, 1633, 1633, 55, 1633, 1633, 1633, 64, 1633, 1633, 1633, 62, 1633, - 0, 0, 1633, 0, 325, 63, 0, 0, 0, 1633, - 0, 64, 0, 0, 0, 1633, 0, 324, 68, 0, + 0, 0, 1633, 0, 352, 63, 0, 0, 0, 1633, + 0, 64, 0, 0, 0, 1633, 0, 351, 68, 0, 0, 0, 0, 69, 0, 1633, 1633, 1633, 1633, 70, - 333, 312, 1633, 1633, 1633, 1633, 1633, 82, 0, 330, + 19, 331, 1633, 1633, 1633, 1633, 1633, 82, 0, 338, 1633, 1633, 0, 1633, 1633, 1633, 1633, 84, 0, 1633, 1633, 1633, 1633, 1633, 86, 0, 1633, 0, 1633, 1633, 1633, 88, 1633, 1633, 1633, 1633, 1633, 1633, 1633, 1633, - 92, 1633, 1633, 1633, 1633, 1633, 1633, 93, 327, 1633, - 1633, 1633, 1633, 102, 1633, 0, 308, 83, 309, 176, - 309, 307, 1633, 1633, 0, 85, 306, 186, 0, 179, - 1633, 188, 188, 1633, 194, 195, 193, 1633, 211, 5, - 1633, 1633, 212, 214, 322, 319, 318, 317, 306, 305, - 109, 310, 313, 1633, 1633, 0, 1633, 1633, 215, 1633, - 0, 1633, 1633, 0, 0, 0, 0, 0, 1633, 1633, - 0, 0, 0, 0, 1633, 291, 0, 1633, 0, 1633, - 1633, 1633, 0, 1633, 1633, 1633, 289, 289, 289, 286, - - 1633, 286, 286, 280, 282, 280, 280, 277, 1633, 278, - 278, 283, 290, 267, 264, 220, 1221, 266, 263, 263, - 254, 206, 222, 0, 180, 175, 1633, 160, 163, 1633, - 1633, 1236, 223, 91, 92, 84, 1633, 0, 224, 63, - 82, 1633, 225, 1633, 264, 35, 21, 1, 8, 268, - 1633, 269, 271, 273, 1633, 0, 279, 1633, 0, 0, - 0, 1633, 1265, 1276, 1287, 1298, 1309, 1320, 1331, 1342, - 1353, 1364, 1375, 1386, 1397, 1408, 1419, 1430, 1441, 1443, - 1445, 1456, 1466, 1477, 1487, 1497, 1501, 1503, 1514, 1525, - 1536, 1547, 1558, 1560, 1562, 1573, 1575, 1586, 1597, 1607, - - 1617, 1619, 1621 + 92, 1633, 1633, 1633, 1633, 1633, 1633, 93, 334, 1633, + 1633, 1633, 1633, 102, 1633, 0, 315, 83, 316, 176, + 316, 313, 1633, 1633, 0, 85, 312, 186, 0, 179, + 1633, 188, 188, 1633, 194, 195, 193, 1633, 211, 82, + 1633, 1633, 212, 214, 330, 329, 328, 327, 316, 315, + 109, 318, 319, 1633, 1633, 0, 1633, 317, 1633, 215, + 1633, 0, 1633, 1633, 0, 0, 0, 0, 0, 1633, + 1633, 0, 0, 0, 0, 1633, 316, 295, 0, 1633, + 0, 1633, 1633, 1633, 0, 1633, 1633, 1633, 293, 293, + + 293, 290, 1633, 291, 291, 286, 288, 285, 285, 281, + 1633, 282, 282, 290, 299, 276, 273, 220, 1221, 272, + 269, 269, 262, 266, 222, 0, 263, 262, 1633, 256, + 207, 1633, 1633, 1236, 223, 180, 177, 184, 1633, 0, + 224, 163, 112, 1633, 225, 1633, 264, 91, 84, 36, + 8, 268, 1633, 269, 271, 273, 1633, 0, 279, 1633, + 0, 0, 0, 1633, 1265, 1276, 1287, 1298, 1309, 1320, + 1331, 1342, 1353, 1364, 1375, 1386, 1397, 1408, 1419, 1430, + 1441, 1443, 1445, 1456, 1466, 1477, 1487, 1497, 1501, 1503, + 1514, 1525, 1536, 1547, 1558, 1560, 1562, 1573, 1575, 1586, + + 1597, 1607, 1617, 1619, 1621 } ; -static yyconst short int yy_def[404] = +static yyconst short int yy_def[406] = { 0, - 363, 363, 363, 364, 362, 5, 362, 7, 365, 365, - 362, 11, 366, 366, 363, 15, 15, 17, 17, 19, - 362, 21, 367, 368, 363, 363, 363, 363, 369, 369, - 370, 370, 371, 371, 372, 372, 373, 373, 362, 39, - 39, 41, 374, 374, 375, 375, 17, 47, 376, 376, - 377, 377, 378, 378, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 379, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 380, 380, 380, 380, 380, 362, - 362, 362, 362, 362, 362, 381, 381, 381, 362, 382, - 382, 362, 382, 362, 382, 362, 362, 362, 362, 362, - - 383, 362, 384, 384, 384, 384, 384, 385, 386, 362, - 362, 362, 362, 387, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 388, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 389, 362, 362, 362, 362, 362, - 390, 390, 362, 390, 362, 390, 390, 391, 391, 362, - 391, 391, 391, 392, 392, 362, 392, 362, 392, 392, - 393, 393, 393, 393, 393, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 394, 362, - 362, 362, 395, 362, 362, 362, 362, 362, 396, 362, - 362, 362, 362, 362, 362, 396, 362, 397, 362, 362, - - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 379, 362, 380, 380, 380, 380, 380, - 380, 380, 362, 362, 381, 381, 381, 381, 382, 362, - 362, 383, 384, 362, 384, 384, 362, 362, 385, 362, - 362, 362, 386, 362, 362, 362, 362, 362, 362, 387, - 362, 362, 362, 362, 362, 388, 362, 362, 389, 362, - 390, 362, 362, 390, 391, 391, 391, 392, 362, 362, - 392, 393, 393, 393, 362, 362, 394, 362, 395, 362, - 362, 362, 397, 362, 362, 362, 380, 380, 380, 380, - - 362, 380, 380, 380, 380, 381, 381, 381, 362, 381, - 381, 362, 362, 362, 380, 380, 398, 380, 380, 380, - 380, 380, 381, 381, 381, 381, 362, 362, 380, 362, - 362, 399, 380, 380, 380, 380, 362, 381, 381, 362, - 380, 362, 362, 362, 380, 380, 362, 362, 362, 362, - 362, 400, 362, 401, 362, 402, 362, 362, 403, 402, - 403, 0, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - - 362, 362, 362 + 365, 365, 365, 366, 364, 5, 364, 7, 367, 367, + 364, 11, 368, 368, 365, 15, 15, 17, 17, 19, + 364, 21, 369, 370, 365, 365, 365, 365, 371, 371, + 372, 372, 373, 373, 374, 374, 375, 375, 364, 39, + 39, 41, 376, 376, 377, 377, 17, 47, 378, 378, + 379, 379, 380, 380, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 381, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 382, 382, 382, 382, 382, 364, + 364, 364, 364, 364, 364, 383, 383, 383, 364, 384, + 384, 364, 384, 364, 384, 364, 364, 364, 364, 364, + + 385, 364, 386, 386, 386, 386, 386, 387, 388, 364, + 364, 364, 364, 389, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 390, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 391, 364, 364, 364, 364, 364, + 392, 392, 364, 392, 364, 392, 392, 393, 393, 364, + 393, 393, 393, 394, 394, 364, 394, 364, 394, 394, + 395, 395, 395, 395, 395, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 396, 364, + 364, 364, 397, 364, 364, 364, 364, 364, 398, 364, + 364, 364, 364, 364, 364, 398, 364, 399, 364, 364, + + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 381, 364, 382, 382, 382, 382, 382, + 382, 382, 364, 364, 383, 383, 383, 383, 384, 364, + 364, 385, 386, 364, 386, 386, 364, 364, 387, 364, + 364, 364, 388, 364, 364, 364, 364, 364, 364, 389, + 364, 364, 364, 364, 364, 390, 364, 364, 364, 391, + 364, 392, 364, 364, 392, 393, 393, 393, 394, 364, + 364, 394, 395, 395, 395, 364, 364, 364, 396, 364, + 397, 364, 364, 364, 399, 364, 364, 364, 382, 382, + + 382, 382, 364, 382, 382, 382, 382, 383, 383, 383, + 364, 383, 383, 364, 364, 364, 382, 382, 400, 382, + 382, 382, 382, 382, 383, 383, 383, 383, 364, 364, + 382, 364, 364, 401, 382, 382, 382, 382, 364, 383, + 383, 364, 382, 364, 364, 364, 382, 382, 364, 364, + 364, 364, 364, 402, 364, 403, 364, 404, 364, 364, + 405, 404, 405, 0, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + + 364, 364, 364, 364, 364 } ; static yyconst short int yy_nxt[1664] = { 0, - 362, 57, 224, 58, 59, 261, 225, 250, 251, 262, - 349, 221, 221, 60, 222, 222, 221, 233, 233, 222, - 234, 234, 353, 347, 230, 228, 229, 231, 221, 61, + 364, 57, 224, 58, 59, 261, 225, 267, 268, 262, + 351, 221, 221, 60, 222, 222, 221, 233, 233, 222, + 234, 234, 286, 287, 230, 228, 229, 231, 221, 61, 57, 222, 58, 59, 236, 237, 244, 240, 240, 240, 244, 244, 60, 241, 244, 244, 264, 244, 247, 265, - 245, 244, 244, 246, 248, 244, 244, 352, 61, 57, - 254, 58, 59, 250, 251, 233, 269, 255, 234, 252, - 270, 60, 233, 273, 276, 234, 274, 277, 280, 283, - 221, 281, 284, 222, 349, 348, 347, 61, 63, 64, - 65, 66, 221, 67, 290, 222, 221, 291, 221, 222, - - 68, 222, 221, 294, 224, 222, 295, 298, 225, 306, - 299, 261, 307, 346, 345, 262, 69, 70, 71, 70, + 245, 244, 244, 246, 248, 244, 244, 355, 61, 57, + 254, 58, 59, 250, 251, 233, 270, 255, 234, 252, + 271, 60, 233, 274, 277, 234, 275, 278, 281, 284, + 221, 282, 285, 222, 250, 251, 349, 61, 63, 64, + 65, 66, 221, 67, 292, 222, 221, 293, 221, 222, + + 68, 222, 221, 296, 224, 222, 297, 300, 225, 308, + 301, 261, 309, 354, 351, 262, 69, 70, 71, 70, 72, 73, 70, 70, 70, 70, 70, 70, 70, 70, 74, 70, 70, 70, 70, 75, 70, 75, 76, 77, 75, 78, 75, 75, 75, 79, 80, 81, 82, 81, 83, 84, 81, 81, 81, 81, 81, 81, 81, 81, 85, 81, 81, 81, 81, 86, 81, 86, 86, 87, - 86, 88, 86, 86, 86, 86, 89, 91, 301, 92, - 93, 240, 240, 240, 301, 341, 340, 241, 309, 94, - 240, 240, 240, 244, 309, 247, 241, 302, 339, 244, - - 244, 248, 303, 338, 244, 95, 91, 310, 92, 93, - 244, 244, 311, 247, 250, 251, 254, 269, 94, 248, - 252, 270, 330, 255, 337, 343, 309, 343, 330, 336, - 337, 344, 309, 344, 95, 96, 97, 96, 98, 99, + 86, 88, 86, 86, 86, 86, 89, 91, 303, 92, + 93, 240, 240, 240, 303, 350, 349, 241, 311, 94, + 240, 240, 240, 244, 311, 247, 241, 304, 348, 244, + + 244, 248, 305, 347, 244, 95, 91, 312, 92, 93, + 244, 244, 313, 247, 250, 251, 254, 270, 94, 248, + 252, 271, 332, 255, 339, 345, 311, 345, 332, 343, + 339, 346, 311, 346, 95, 96, 97, 96, 98, 99, 96, 96, 96, 96, 96, 96, 96, 96, 100, 96, 96, 96, 96, 101, 96, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 102, 104, 350, 58, 105, 56, - 350, 354, 351, 357, 355, 354, 351, 106, 355, 358, - 56, 357, 335, 226, 355, 334, 333, 358, 355, 332, - 329, 328, 313, 107, 104, 327, 58, 105, 56, 310, - - 326, 325, 324, 323, 322, 321, 106, 320, 319, 56, - 318, 317, 316, 315, 314, 313, 263, 259, 312, 258, - 257, 256, 107, 57, 257, 58, 59, 308, 305, 304, - 300, 297, 296, 288, 286, 60, 285, 279, 272, 267, - 108, 263, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 61, 109, 259, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 110, 258, 257, 256, 238, 232, 111, - 112, 227, 113, 362, 362, 362, 362, 362, 362, 114, - 362, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 101, 101, 101, 101, 102, 104, 352, 58, 105, 56, + 352, 356, 353, 359, 357, 356, 353, 106, 357, 360, + 56, 359, 342, 226, 357, 341, 340, 360, 357, 338, + 337, 336, 335, 107, 104, 334, 58, 105, 56, 331, + + 330, 315, 329, 312, 328, 327, 106, 326, 325, 56, + 324, 323, 322, 321, 320, 319, 318, 317, 316, 286, + 267, 315, 107, 57, 263, 58, 59, 259, 314, 258, + 257, 256, 257, 310, 307, 60, 306, 302, 299, 298, + 108, 290, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 61, 109, 288, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 110, 280, 273, 263, 259, 258, 111, + 112, 257, 113, 256, 238, 232, 227, 364, 364, 114, + 364, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 116, 117, 118, 119, 120, 121, 122, 115, 115, 115, 115, 115, 123, 115, 115, 115, 124, 125, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 127, - 129, 362, 58, 130, 362, 362, 362, 362, 362, 362, - 362, 362, 131, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 132, 134, - 135, 136, 137, 362, 138, 362, 362, 362, 362, 362, - 362, 139, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 140, 57, 362, - 58, 59, 362, 362, 362, 362, 362, 362, 362, 362, - 60, 362, 362, 362, 362, 362, 362, 362, 362, 362, - - 362, 362, 362, 362, 362, 362, 61, 57, 362, 58, - 59, 362, 362, 362, 362, 362, 362, 362, 362, 60, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 61, 57, 362, 58, 59, - 362, 362, 362, 362, 362, 362, 362, 362, 60, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 61, 57, 362, 58, 59, 362, - 362, 362, 362, 362, 362, 362, 362, 60, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 61, 142, 362, 143, 144, 362, 362, - - 362, 362, 362, 145, 362, 362, 146, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 147, 142, 362, 143, 144, 362, 362, 362, - 362, 362, 145, 362, 362, 146, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 147, 149, 362, 150, 151, 362, 362, 362, 362, - 362, 362, 362, 362, 152, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 153, 149, 362, 150, 151, 362, 362, 362, 362, 362, - 362, 362, 362, 152, 362, 362, 362, 362, 362, 362, - - 362, 362, 362, 362, 362, 362, 362, 362, 362, 153, - 155, 362, 156, 157, 362, 362, 362, 362, 362, 158, - 362, 362, 159, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 160, 155, - 362, 156, 157, 362, 362, 362, 362, 362, 158, 362, - 362, 159, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 160, 162, 362, - 150, 163, 362, 362, 362, 362, 362, 362, 362, 362, - 164, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 165, 162, 362, 150, - - 163, 362, 362, 362, 362, 362, 362, 362, 362, 164, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 165, 167, 362, 168, 169, - 362, 362, 362, 362, 362, 362, 362, 362, 170, 362, - 362, 362, 362, 362, 171, 362, 172, 362, 362, 362, - 362, 362, 362, 362, 173, 167, 362, 168, 169, 362, - 362, 362, 362, 362, 362, 362, 362, 170, 362, 362, - 362, 362, 362, 171, 362, 172, 362, 362, 362, 362, - 362, 362, 362, 173, 174, 175, 174, 176, 177, 174, + 129, 364, 58, 130, 364, 364, 364, 364, 364, 364, + 364, 364, 131, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 132, 134, + 135, 136, 137, 364, 138, 364, 364, 364, 364, 364, + 364, 139, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 140, 57, 364, + 58, 59, 364, 364, 364, 364, 364, 364, 364, 364, + 60, 364, 364, 364, 364, 364, 364, 364, 364, 364, + + 364, 364, 364, 364, 364, 364, 61, 57, 364, 58, + 59, 364, 364, 364, 364, 364, 364, 364, 364, 60, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 61, 57, 364, 58, 59, + 364, 364, 364, 364, 364, 364, 364, 364, 60, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 61, 57, 364, 58, 59, 364, + 364, 364, 364, 364, 364, 364, 364, 60, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 61, 142, 364, 143, 144, 364, 364, + + 364, 364, 364, 145, 364, 364, 146, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 147, 142, 364, 143, 144, 364, 364, 364, + 364, 364, 145, 364, 364, 146, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 147, 149, 364, 150, 151, 364, 364, 364, 364, + 364, 364, 364, 364, 152, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 153, 149, 364, 150, 151, 364, 364, 364, 364, 364, + 364, 364, 364, 152, 364, 364, 364, 364, 364, 364, + + 364, 364, 364, 364, 364, 364, 364, 364, 364, 153, + 155, 364, 156, 157, 364, 364, 364, 364, 364, 158, + 364, 364, 159, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 160, 155, + 364, 156, 157, 364, 364, 364, 364, 364, 158, 364, + 364, 159, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 160, 162, 364, + 150, 163, 364, 364, 364, 364, 364, 364, 364, 364, + 164, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 165, 162, 364, 150, + + 163, 364, 364, 364, 364, 364, 364, 364, 364, 164, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 165, 167, 364, 168, 169, + 364, 364, 364, 364, 364, 364, 364, 364, 170, 364, + 364, 364, 364, 364, 171, 364, 172, 364, 364, 364, + 364, 364, 364, 364, 173, 167, 364, 168, 169, 364, + 364, 364, 364, 364, 364, 364, 364, 170, 364, 364, + 364, 364, 364, 171, 364, 172, 364, 364, 364, 364, + 364, 364, 364, 173, 174, 175, 174, 176, 177, 174, 174, 174, 174, 174, 174, 174, 174, 178, 174, 174, 174, 174, 179, 180, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 181, 182, 362, 362, 362, 362, 362, - 362, 362, 362, 183, 362, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 185, 362, 58, 186, 187, 362, - 362, 362, 362, 362, 362, 362, 188, 362, 362, 362, - 362, 362, 189, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 190, 185, 362, 58, 186, 187, 362, 362, - 362, 362, 362, 362, 362, 188, 362, 362, 362, 362, - 362, 189, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 190, 192, 362, 58, 193, 362, 362, 194, 362, - - 362, 362, 362, 362, 195, 362, 362, 362, 362, 362, - 196, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 197, 192, 362, 58, 193, 362, 362, 194, 362, 362, - 362, 362, 362, 195, 362, 362, 362, 362, 362, 196, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 197, - 198, 362, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 200, 362, 72, 201, 362, 362, 362, 362, 362, - 362, 362, 362, 202, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 203, - 200, 362, 72, 201, 362, 362, 362, 362, 362, 362, - - 362, 362, 202, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 203, 205, - 362, 206, 207, 208, 362, 362, 209, 210, 362, 362, - 362, 211, 362, 362, 362, 212, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 213, 205, 362, - 206, 207, 208, 362, 362, 209, 210, 362, 362, 362, - 211, 362, 362, 362, 212, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 213, 215, 362, 58, - 216, 217, 362, 362, 362, 362, 362, 362, 362, 218, - 362, 362, 362, 362, 362, 219, 362, 362, 362, 362, - - 362, 362, 362, 362, 362, 220, 215, 362, 58, 216, - 217, 362, 362, 362, 362, 362, 362, 362, 218, 362, - 362, 362, 362, 362, 219, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 220, 226, 362, 362, 362, 226, - 362, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 362, 362, 362, 226, 362, 226, 226, 226, 226, + 179, 179, 179, 181, 182, 364, 364, 364, 364, 364, + 364, 364, 364, 183, 364, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 185, 364, 58, 186, 187, 364, + 364, 364, 364, 364, 364, 364, 188, 364, 364, 364, + 364, 364, 189, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 190, 185, 364, 58, 186, 187, 364, 364, + 364, 364, 364, 364, 364, 188, 364, 364, 364, 364, + 364, 189, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 190, 192, 364, 58, 193, 364, 364, 194, 364, + + 364, 364, 364, 364, 195, 364, 364, 364, 364, 364, + 196, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 197, 192, 364, 58, 193, 364, 364, 194, 364, 364, + 364, 364, 364, 195, 364, 364, 364, 364, 364, 196, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 197, + 198, 364, 198, 198, 198, 198, 198, 198, 198, 198, + 198, 200, 364, 72, 201, 364, 364, 364, 364, 364, + 364, 364, 364, 202, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 203, + 200, 364, 72, 201, 364, 364, 364, 364, 364, 364, + + 364, 364, 202, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 203, 205, + 364, 206, 207, 208, 364, 364, 209, 210, 364, 364, + 364, 211, 364, 364, 364, 212, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 213, 205, 364, + 206, 207, 208, 364, 364, 209, 210, 364, 364, 364, + 211, 364, 364, 364, 212, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 213, 215, 364, 58, + 216, 217, 364, 364, 364, 364, 364, 364, 364, 218, + 364, 364, 364, 364, 364, 219, 364, 364, 364, 364, + + 364, 364, 364, 364, 364, 220, 215, 364, 58, 216, + 217, 364, 364, 364, 364, 364, 364, 364, 218, 364, + 364, 364, 364, 364, 219, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 220, 226, 364, 364, 364, 226, + 364, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 364, 364, 364, 226, 364, 226, 226, 226, 226, 226, 226, 226, 226, 226, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 90, 90, 90, @@ -736,75 +736,75 @@ static yyconst short int yy_nxt[1664] = 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 223, 226, 226, 235, 235, 239, 239, 362, 239, - 239, 239, 239, 239, 362, 239, 239, 242, 242, 242, - 362, 242, 362, 362, 362, 242, 242, 243, 243, 362, - 243, 243, 243, 243, 243, 243, 243, 243, 249, 362, - 362, 362, 249, 362, 362, 362, 249, 249, 253, 253, - - 362, 362, 253, 362, 362, 362, 253, 253, 260, 362, - 260, 260, 266, 266, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 271, 271, 362, 271, 271, - 271, 362, 271, 271, 271, 271, 275, 275, 362, 275, - 275, 275, 275, 275, 275, 275, 275, 278, 278, 362, - 278, 278, 278, 362, 278, 278, 278, 278, 282, 282, - 362, 282, 282, 282, 282, 282, 282, 282, 282, 287, - 287, 289, 289, 292, 292, 362, 292, 292, 292, 292, - 292, 292, 292, 292, 293, 293, 331, 331, 331, 331, - 331, 331, 331, 331, 331, 331, 331, 342, 342, 342, - - 342, 342, 342, 342, 342, 342, 342, 342, 356, 362, - 362, 356, 362, 362, 362, 362, 356, 356, 359, 362, - 362, 359, 362, 362, 362, 362, 362, 359, 360, 360, - 361, 361, 55, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362 + 223, 223, 226, 226, 235, 235, 239, 239, 364, 239, + 239, 239, 239, 239, 364, 239, 239, 242, 242, 242, + 364, 242, 364, 364, 364, 242, 242, 243, 243, 364, + 243, 243, 243, 243, 243, 243, 243, 243, 249, 364, + 364, 364, 249, 364, 364, 364, 249, 249, 253, 253, + + 364, 364, 253, 364, 364, 364, 253, 253, 260, 364, + 260, 260, 266, 266, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 272, 272, 364, 272, 272, + 272, 364, 272, 272, 272, 272, 276, 276, 364, 276, + 276, 276, 276, 276, 276, 276, 276, 279, 279, 364, + 279, 279, 279, 364, 279, 279, 279, 279, 283, 283, + 364, 283, 283, 283, 283, 283, 283, 283, 283, 289, + 289, 291, 291, 294, 294, 364, 294, 294, 294, 294, + 294, 294, 294, 294, 295, 295, 333, 333, 333, 333, + 333, 333, 333, 333, 333, 333, 333, 344, 344, 344, + + 344, 344, 344, 344, 344, 344, 344, 344, 358, 364, + 364, 358, 364, 364, 364, 364, 358, 358, 361, 364, + 364, 361, 364, 364, 364, 364, 364, 361, 362, 362, + 363, 363, 55, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364 } ; static yyconst short int yy_chk[1664] = { 0, - 0, 1, 64, 1, 1, 117, 64, 250, 250, 117, - 349, 60, 68, 1, 60, 68, 74, 85, 94, 74, - 85, 94, 348, 347, 78, 77, 77, 78, 100, 1, + 0, 1, 64, 1, 1, 117, 64, 126, 126, 117, + 351, 60, 68, 1, 60, 68, 74, 85, 94, 74, + 85, 94, 171, 171, 78, 77, 77, 78, 100, 1, 2, 100, 2, 2, 87, 87, 103, 101, 101, 101, 104, 105, 2, 101, 107, 106, 123, 103, 108, 123, - 106, 104, 105, 106, 108, 107, 106, 346, 2, 3, + 106, 104, 105, 106, 108, 107, 106, 350, 2, 3, 110, 3, 3, 109, 109, 131, 135, 110, 131, 109, 135, 3, 139, 146, 152, 139, 146, 152, 159, 164, - 170, 159, 164, 170, 341, 340, 336, 3, 4, 4, + 170, 159, 164, 170, 250, 250, 349, 3, 4, 4, 4, 4, 178, 4, 188, 178, 195, 188, 202, 195, 4, 202, 211, 218, 224, 211, 218, 228, 224, 236, - 228, 261, 236, 335, 334, 261, 4, 5, 5, 5, + 228, 261, 236, 348, 343, 261, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 230, 9, - 9, 240, 240, 240, 230, 329, 328, 240, 238, 9, - 242, 242, 242, 243, 238, 247, 242, 230, 326, 245, + 9, 240, 240, 240, 230, 342, 338, 240, 238, 9, + 242, 242, 242, 243, 238, 247, 242, 230, 337, 245, - 246, 247, 230, 325, 243, 9, 10, 238, 10, 10, - 245, 246, 238, 249, 253, 253, 254, 269, 10, 249, - 253, 269, 316, 254, 323, 333, 339, 343, 316, 322, - 323, 333, 339, 343, 10, 11, 11, 11, 11, 11, + 246, 247, 230, 336, 243, 9, 10, 238, 10, 10, + 245, 246, 238, 249, 253, 253, 254, 270, 10, 249, + 253, 270, 318, 254, 325, 335, 341, 345, 318, 331, + 325, 335, 341, 345, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 13, 345, 13, 13, 13, - 350, 352, 345, 353, 352, 354, 350, 13, 354, 353, - 13, 357, 321, 352, 352, 320, 319, 357, 354, 318, - 315, 314, 313, 13, 14, 312, 14, 14, 14, 311, - - 310, 308, 307, 306, 305, 304, 14, 303, 302, 14, - 300, 299, 298, 297, 286, 263, 262, 260, 259, 258, - 257, 256, 14, 15, 255, 15, 15, 237, 232, 231, - 229, 227, 219, 180, 172, 15, 171, 158, 145, 126, - 15, 121, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 17, 114, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 19, 113, 112, 111, 88, 79, 19, - 19, 76, 19, 55, 0, 0, 0, 0, 0, 19, + 11, 11, 11, 11, 11, 13, 347, 13, 13, 13, + 352, 354, 347, 355, 354, 356, 352, 13, 356, 355, + 13, 359, 330, 354, 354, 328, 327, 359, 356, 324, + 323, 322, 321, 13, 14, 320, 14, 14, 14, 317, + + 316, 315, 314, 313, 312, 310, 14, 309, 308, 14, + 307, 306, 305, 304, 302, 301, 300, 299, 288, 287, + 268, 263, 14, 15, 262, 15, 15, 260, 259, 258, + 257, 256, 255, 237, 232, 15, 231, 229, 227, 219, + 15, 180, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 17, 172, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 19, 158, 145, 121, 114, 113, 19, + 19, 112, 19, 111, 88, 79, 76, 55, 0, 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, @@ -899,54 +899,54 @@ static yyconst short int yy_chk[1664] = 0, 0, 0, 0, 0, 53, 54, 0, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 317, 0, 0, 0, 317, - 0, 317, 317, 317, 317, 317, 317, 317, 317, 317, - 332, 0, 0, 0, 332, 0, 332, 332, 332, 332, - 332, 332, 332, 332, 332, 363, 363, 363, 363, 363, - 363, 363, 363, 363, 363, 363, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 364, 364, 365, 365, 365, - 365, 365, 365, 365, 365, 365, 365, 365, 366, 366, - - 366, 366, 366, 366, 366, 366, 366, 366, 366, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, - 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, - 368, 369, 369, 369, 369, 369, 369, 369, 369, 369, - 369, 369, 370, 370, 370, 370, 370, 370, 370, 370, - 370, 370, 370, 371, 371, 371, 371, 371, 371, 371, - 371, 371, 371, 371, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 373, 373, 373, 373, 373, - 373, 373, 373, 373, 373, 373, 374, 374, 374, 374, - 374, 374, 374, 374, 374, 374, 374, 375, 375, 375, - - 375, 375, 375, 375, 375, 375, 375, 375, 376, 376, - 376, 376, 376, 376, 376, 376, 376, 376, 376, 377, - 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, - 378, 379, 379, 379, 379, 379, 379, 379, 379, 379, - 379, 379, 380, 380, 381, 381, 382, 382, 0, 382, - 382, 382, 382, 382, 0, 382, 382, 383, 383, 383, - 0, 383, 0, 0, 0, 383, 383, 384, 384, 0, - 384, 384, 384, 384, 384, 384, 384, 384, 385, 0, - 0, 0, 385, 0, 0, 0, 385, 385, 386, 386, - - 0, 0, 386, 0, 0, 0, 386, 386, 387, 0, - 387, 387, 388, 388, 389, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 390, 390, 0, 390, 390, - 390, 0, 390, 390, 390, 390, 391, 391, 0, 391, - 391, 391, 391, 391, 391, 391, 391, 392, 392, 0, - 392, 392, 392, 0, 392, 392, 392, 392, 393, 393, - 0, 393, 393, 393, 393, 393, 393, 393, 393, 394, - 394, 395, 395, 396, 396, 0, 396, 396, 396, 396, - 396, 396, 396, 396, 397, 397, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 399, 399, 399, - - 399, 399, 399, 399, 399, 399, 399, 399, 400, 0, - 0, 400, 0, 0, 0, 0, 400, 400, 401, 0, - 0, 401, 0, 0, 0, 0, 0, 401, 402, 402, - 403, 403, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362 + 0, 0, 0, 0, 54, 319, 0, 0, 0, 319, + 0, 319, 319, 319, 319, 319, 319, 319, 319, 319, + 334, 0, 0, 0, 334, 0, 334, 334, 334, 334, + 334, 334, 334, 334, 334, 365, 365, 365, 365, 365, + 365, 365, 365, 365, 365, 365, 366, 366, 366, 366, + 366, 366, 366, 366, 366, 366, 366, 367, 367, 367, + 367, 367, 367, 367, 367, 367, 367, 367, 368, 368, + + 368, 368, 368, 368, 368, 368, 368, 368, 368, 369, + 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, + 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, + 370, 371, 371, 371, 371, 371, 371, 371, 371, 371, + 371, 371, 372, 372, 372, 372, 372, 372, 372, 372, + 372, 372, 372, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 374, 374, 374, 374, 374, 374, + 374, 374, 374, 374, 374, 375, 375, 375, 375, 375, + 375, 375, 375, 375, 375, 375, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 377, 377, 377, + + 377, 377, 377, 377, 377, 377, 377, 377, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 379, + 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, + 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, + 380, 381, 381, 381, 381, 381, 381, 381, 381, 381, + 381, 381, 382, 382, 383, 383, 384, 384, 0, 384, + 384, 384, 384, 384, 0, 384, 384, 385, 385, 385, + 0, 385, 0, 0, 0, 385, 385, 386, 386, 0, + 386, 386, 386, 386, 386, 386, 386, 386, 387, 0, + 0, 0, 387, 0, 0, 0, 387, 387, 388, 388, + + 0, 0, 388, 0, 0, 0, 388, 388, 389, 0, + 389, 389, 390, 390, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 392, 392, 0, 392, 392, + 392, 0, 392, 392, 392, 392, 393, 393, 0, 393, + 393, 393, 393, 393, 393, 393, 393, 394, 394, 0, + 394, 394, 394, 0, 394, 394, 394, 394, 395, 395, + 0, 395, 395, 395, 395, 395, 395, 395, 395, 396, + 396, 397, 397, 398, 398, 0, 398, 398, 398, 398, + 398, 398, 398, 398, 399, 399, 400, 400, 400, 400, + 400, 400, 400, 400, 400, 400, 400, 401, 401, 401, + + 401, 401, 401, 401, 401, 401, 401, 401, 402, 0, + 0, 402, 0, 0, 0, 0, 402, 402, 403, 0, + 0, 403, 0, 0, 0, 0, 0, 403, 404, 404, + 405, 405, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, + 364, 364, 364 } ; static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -977,7 +977,7 @@ char *yytext; * * $Id$ * - * Copyright (C) 1997-1999 by Dimitri van Heesch. + * Copyright (C) 1997-2000 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -1037,50 +1037,58 @@ struct FileState /* ----------------------------------------------------------------- * - * statics + * scanner's state */ -static int yyLineNr = 1; -static QCString yyFileName; -static int ifcount = 0; -static QStrList *pathList = 0; -static QStack<FileState> includeStack; -static QDict<int> *argDict; -static int defArgs = -1; -static QCString defName; -static QCString defText; -static QCString defArgsStr; -static bool defVarArgs; -static int level; -static int lastCContext; -static int lastCPPContext; -static QArray<int> levelGuard; -static QCString guardExpr; -static BufStr *outputBuf; -static int roundCount; -static bool quoteArg; -static DefineDict *fileDefineDict; -static DefineDict *expandedDict; -static int findDefArgContext; - -static QCString lastGuardName; - +static int g_yyLineNr = 1; +static QCString g_yyFileName; +static FileDef *g_yyFileDef; +static int g_ifcount = 0; +static QStrList *g_pathList = 0; +static QStack<FileState> g_includeStack; +static QDict<int> *g_argDict; +static int g_defArgs = -1; +static QCString g_defName; +static QCString g_defText; +static QCString g_defLitText; +static QCString g_defArgsStr; +static bool g_defVarArgs; +static int g_level; +static int g_lastCContext; +static int g_lastCPPContext; +static QArray<int> g_levelGuard; +static BufStr *g_outputBuf; +static int g_roundCount; +static bool g_quoteArg; +static DefineDict *g_fileDefineDict; +static DefineDict *g_expandedDict; +static int g_findDefArgContext; +static QCString g_lastGuardName; +static QCString g_incName; +static QCString g_guardExpr; + +static void setFileName(const char *name) +{ + bool ambig; + g_yyFileName=name; + g_yyFileDef=findFileDef(&inputNameDict,g_yyFileName,ambig); +} static void incrLevel() { - level++; - levelGuard.resize(level); - levelGuard[level-1]=FALSE; - //printf("%s line %d: incrLevel %d\n",yyFileName.data(),yyLineNr,level); + g_level++; + g_levelGuard.resize(g_level); + g_levelGuard[g_level-1]=FALSE; + //printf("%s line %d: incrLevel %d\n",g_yyFileName.data(),g_yyLineNr,g_level); } static void decrLevel() { - //printf("%s line %d: decrLevel %d\n",yyFileName.data(),yyLineNr,level); - if (level > 0) + //printf("%s line %d: decrLevel %d\n",g_yyFileName.data(),g_yyLineNr,g_level); + if (g_level > 0) { - level--; - levelGuard.resize(level); + g_level--; + g_levelGuard.resize(g_level); } else { @@ -1090,12 +1098,12 @@ static void decrLevel() static bool otherCaseDone() { - return levelGuard[level-1]; + return g_levelGuard[g_level-1]; } static void setCaseDone(bool value) { - levelGuard[level-1]=value; + g_levelGuard[g_level-1]=value; } static Define *isDefined(const char *name) @@ -1103,20 +1111,20 @@ static Define *isDefined(const char *name) if (name) { Define *def; - //if ((def=fileDefineCache->findDefine(yyFileName,name)) && !def->undef) + //if ((def=fileDefineCache->findDefine(g_yyFileName,name)) && !def->undef) // return def; - if ((def=fileDefineDict->find(name)) && !def->undef) return def; + if ((def=g_fileDefineDict->find(name)) && !def->undef) return def; } return 0; } static FILE *findFile(const char *fileName) { - if (pathList==0) + if (g_pathList==0) { return 0; } - char *s=pathList->first(); + char *s=g_pathList->first(); while (s) { QCString absName=(QCString)s+"/"+fileName; @@ -1137,12 +1145,12 @@ static FILE *findFile(const char *fileName) } if (f) { - yyFileName=absName; - yyLineNr=1; + setFileName(absName); + g_yyLineNr=1; return f; } } - s=pathList->next(); + s=g_pathList->next(); } return 0; } @@ -1265,7 +1273,7 @@ static void processConcatOperators(QCString &expr) */ static bool replaceFunctionMacro(const QCString &expr,QCString *rest,int pos,int &len,const Define *def,QCString &result) { - //printf("replaceFunctionMacro(expr=%s,rest=%s,pos=%d,def=%s) level=%d\n",expr.data(),rest ? rest->data() : 0,pos,def->name.data(),level); + //printf("replaceFunctionMacro(expr=%s,rest=%s,pos=%d,def=%s) level=%d\n",expr.data(),rest ? rest->data() : 0,pos,def->name.data(),g_level); //bool replaced=FALSE; uint j=pos; len=0; @@ -1540,7 +1548,7 @@ static void expandExpression(QCString &expr,QCString *rest,int pos) //printf("macroName %s found\n",macroName.data()); if (p<2 || !(expr.at(p-2)=='@' && expr.at(p-1)=='-')) // no-rescan marker? { - if (expandedDict->find(macroName)==0) // expand macro + if (g_expandedDict->find(macroName)==0) // expand macro { Define *def=isDefined(macroName); //printf("name is not an expanded macro def=%s\n",def ? def->name.data() : 0); @@ -1567,9 +1575,9 @@ static void expandExpression(QCString &expr,QCString *rest,int pos) processConcatOperators(resultExpr); if (!def->nonRecursive) { - expandedDict->insert(macroName,def); + g_expandedDict->insert(macroName,def); expandExpression(resultExpr,&restExpr,0); - expandedDict->remove(macroName); + g_expandedDict->remove(macroName); } expr=expr.left(p)+resultExpr+restExpr; i=p; @@ -1685,7 +1693,7 @@ bool computeExpression(const QCString &expr) QCString e=expr; expandExpression(e,0,0); e = removeIdsAndMarkers(e); - if (e.length()==0) return FALSE; + if (e.isEmpty()) return FALSE; return parseCppExpression(e); } @@ -1705,92 +1713,115 @@ QCString expandMacro(const QCString &name) Define *newDefine() { Define *def=new Define; - def->name = defName; - def->definition = defText.stripWhiteSpace(); - def->nargs = defArgs; - def->fileName = yyFileName; - def->lineNr = yyLineNr; - def->varArgs = defVarArgs; + def->name = g_defName; + def->definition = g_defText.stripWhiteSpace(); + def->nargs = g_defArgs; + def->fileName = g_yyFileName; + def->lineNr = g_yyLineNr; + def->varArgs = g_defVarArgs; return def; } void addDefine() { - bool ambig; - FileDef *fd=findFileDef(&inputNameDict,yyFileName,ambig); - MemberDef *md=new MemberDef("#define",defName,defArgsStr,0, + //bool ambig; + //FileDef *fd=findFileDef(&inputNameDict,g_yyFileName,ambig); + MemberDef *md=new MemberDef("#define",g_defName,g_defArgsStr,0, Public,Normal,FALSE,FALSE,MemberDef::Define,0,0); - ArgumentList *argList = new ArgumentList; - stringToArgumentList(defArgsStr,argList); - md->setArgumentList(argList); - md->setDefFile(yyFileName); - md->setDefLine(yyLineNr); - md->setFileDef(fd); - md->setDefinition("#define "+defName); - - MemberName *mn=functionNameDict[defName]; + if (!g_defArgsStr.isEmpty()) + { + ArgumentList *argList = new ArgumentList; + //printf("addDefine() g_defName=`%s' g_defArgsStr=`%s'\n",g_defName.data(),g_defArgsStr.data()); + stringToArgumentList(g_defArgsStr,argList); + md->setArgumentList(argList); + } + //printf("Setting initializer for `%s' to `%s'\n",g_defName.data(),g_defText.data()); + md->setInitializer(g_defLitText); + + md->setDefFile(g_yyFileName); + md->setDefLine(g_yyLineNr); + md->setFileDef(g_yyFileDef); + md->setDefinition("#define "+g_defName); + + MemberName *mn=functionNameDict[g_defName]; if (mn==0) { - mn = new MemberName(defName); + mn = new MemberName(g_defName); functionNameList.inSort(mn); - functionNameDict.insert(defName,mn); + functionNameDict.insert(g_defName,mn); } mn->append(md); - if (fd) fd->insertMember(md); + if (g_yyFileDef) g_yyFileDef->insertMember(md); Define *d; - if ((d=defineDict[defName])==0) defineDict.insert(defName,newDefine()); - + if ((d=defineDict[g_defName])==0) defineDict.insert(g_defName,newDefine()); } static void outputChar(char c) { - if (includeStack.isEmpty()) outputBuf->addChar(c); + if (g_includeStack.isEmpty()) g_outputBuf->addChar(c); } static void outputArray(const char *a,int len) { - if (includeStack.isEmpty()) outputBuf->addArray(a,len); + if (g_includeStack.isEmpty()) g_outputBuf->addArray(a,len); } static void readIncludeFile(const QCString &inc) { if (!Config::searchIncludeFlag) return; // do not read include files uint i=0; + // find the start of the include file name while (i<inc.length() && (inc.at(i)==' ' || inc.at(i)=='"' || inc.at(i)=='<') ) i++; uint s=i; + + // was it a local include? + bool localInclude = s>0 && inc.at(s-1)=='"'; + // find the end of the include file name - while (i<inc.length() && - inc.at(i)!='"' && inc.at(i)!='>') i++; + while (i<inc.length() && inc.at(i)!='"' && inc.at(i)!='>') i++; + if (s<inc.length() && i>s) // valid include file name found { + // extract include path+name QCString incFileName=inc.mid(s,i-s).stripWhiteSpace(); FILE *f; - QCString oldFileName=yyFileName.copy(); + QCString oldFileName = g_yyFileName.copy(); + FileDef *oldFileDef = g_yyFileDef; if ((f=findFile(incFileName))) // see if the include file can be found { #if SHOW_INCLUDES - for (i=0;i<includeStack.count();i++) msg(" "); + for (i=0;i<g_includeStack.count();i++) msg(" "); msg("#include %s: parsing...\n",incFileName.data()); #endif + if (oldFileDef) + { + // add include dependency to the file in which the #include was found + oldFileDef->addIncludeDependency(g_yyFileDef,incFileName,localInclude); + } // store the state of the old file FileState *fs=new FileState; fs->bufState=YY_CURRENT_BUFFER; - fs->lineNr=yyLineNr; + fs->lineNr=g_yyLineNr; fs->fileName=oldFileName; fs->filePtr=f; // push the state on the stack - includeStack.push(fs); + g_includeStack.push(fs); // set the scanner to the include file preYYin=f; yy_switch_to_buffer(yy_create_buffer(preYYin, YY_BUF_SIZE)); } else { + if (oldFileDef) + { + // add include dependency to the file in which the #include was found + oldFileDef->addIncludeDependency(0,incFileName,localInclude); + } #if SHOW_INCLUDES msg("#include %s: not found! skipping...\n",incFileName.data()); //printf("Error: include file %s not found\n",yytext); @@ -1845,7 +1876,7 @@ static void readIncludeFile(const QCString &inc) #define SkipSingleQuote 22 -#define UndefName 23 +#define Ung_defName 23 #define IgnoreLine 24 @@ -2006,7 +2037,7 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 865 "pre.l" +#line 896 "pre.l" @@ -2057,7 +2088,7 @@ 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 >= 363 ) + if ( yy_current_state >= 365 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2115,35 +2146,35 @@ do_action: /* This label is used only to access EOF actions. */ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 867 "pre.l" +#line 898 "pre.l" YY_BREAK case 2: YY_RULE_SETUP -#line 868 "pre.l" +#line 899 "pre.l" YY_BREAK case 3: YY_RULE_SETUP -#line 869 "pre.l" +#line 900 "pre.l" YY_BREAK /* <Start>^{B}*([^ \t#\n\/][^\n]*)?"\n" { - //printf("%s line %d: %s",yyFileName.data(),yyLineNr,yytext); - if (includeStack.isEmpty()) + //printf("%s line %d: %s",g_yyFileName.data(),g_yyLineNr,yytext); + if (g_includeStack.isEmpty()) { //preprocessedFile+=yytext; //char *s=yytext,c; //if (s) while ((c=*s++)) *dataPtr++=c; - outputBuf->addArray(yytext,yyleng); + g_outputBuf->addArray(yytext,yyleng); } - yyLineNr++; + g_yyLineNr++; } */ case 4: YY_RULE_SETUP -#line 883 "pre.l" +#line 914 "pre.l" { BEGIN(Command); } YY_BREAK case 5: @@ -2151,7 +2182,7 @@ case 5: yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 884 "pre.l" +#line 915 "pre.l" { outputArray(yytext,yyleng); BEGIN(CopyLine); @@ -2164,29 +2195,29 @@ YY_RULE_SETUP */ case 6: YY_RULE_SETUP -#line 893 "pre.l" +#line 924 "pre.l" { Define *def=0; //printf("Search for define %s\n",yytext); - if (includeStack.isEmpty() && + if (g_includeStack.isEmpty() && Config::macroExpansionFlag && - /* (expandDefine=fileDefineCache->findDefine(yyFileName,yytext)) */ - (def=fileDefineDict->find(yytext)) && + /* (expandDefine=fileDefineCache->findDefine(g_yyFileName,yytext)) */ + (def=g_fileDefineDict->find(yytext)) && (!Config::onlyPredefinedFlag || def->isPredefined) ) { //printf("Found it!\n"); - roundCount=0; - defArgsStr=yytext; + g_roundCount=0; + g_defArgsStr=yytext; if (def->nargs==-1) // no function macro { - QCString result = expandMacro(defArgsStr); + QCString result = expandMacro(g_defArgsStr); //printf("result=`%s'\n",result.data()); outputArray(result,result.length()); } else // zero or more arguments { - findDefArgContext = CopyLine; + g_findDefArgContext = CopyLine; BEGIN(FindDefineArgs); } } @@ -2198,13 +2229,13 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 923 "pre.l" +#line 954 "pre.l" { Define *def=0; //printf("Search for define %s\n",yytext); - if (includeStack.isEmpty() && + if (g_includeStack.isEmpty() && Config::macroExpansionFlag && - (def=fileDefineDict->find(yytext)) && + (def=g_fileDefineDict->find(yytext)) && def->nargs==-1 && (!Config::onlyPredefinedFlag || def->isPredefined) ) @@ -2223,44 +2254,44 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 944 "pre.l" +#line 975 "pre.l" { outputChar(*yytext); } YY_BREAK case 9: YY_RULE_SETUP -#line 947 "pre.l" +#line 978 "pre.l" { outputChar('\n'); BEGIN(Start); - yyLineNr++; + g_yyLineNr++; } YY_BREAK case 10: YY_RULE_SETUP -#line 952 "pre.l" +#line 983 "pre.l" { - defArgsStr+='('; - roundCount++; + g_defArgsStr+='('; + g_roundCount++; } YY_BREAK case 11: YY_RULE_SETUP -#line 956 "pre.l" +#line 987 "pre.l" { - defArgsStr+=')'; - roundCount--; - if (roundCount==0) + g_defArgsStr+=')'; + g_roundCount--; + if (g_roundCount==0) { - //printf("defArgsStr=`%s'\n",defArgsStr.data()); - QCString result=expandMacro(defArgsStr); - if (findDefArgContext==CopyLine) + //printf("g_defArgsStr=`%s'\n",g_defArgsStr.data()); + QCString result=expandMacro(g_defArgsStr); + if (g_findDefArgContext==CopyLine) { outputArray(result,result.length()); - BEGIN(findDefArgContext); + BEGIN(g_findDefArgContext); } - else // findDefArgContext==IncludeID + else // g_findDefArgContext==IncludeID { readIncludeFile(result); BEGIN(Start); @@ -2270,71 +2301,71 @@ YY_RULE_SETUP YY_BREAK /* <FindDefineArgs>")"{B}*"(" { - defArgsStr+=yytext; + g_defArgsStr+=yytext; } */ case 12: YY_RULE_SETUP -#line 980 "pre.l" +#line 1011 "pre.l" { - defArgsStr+=*yytext; + g_defArgsStr+=*yytext; BEGIN(ReadString); } YY_BREAK case 13: YY_RULE_SETUP -#line 984 "pre.l" +#line 1015 "pre.l" { - yyLineNr++; + g_yyLineNr++; outputChar('\n'); } YY_BREAK case 14: YY_RULE_SETUP -#line 988 "pre.l" +#line 1019 "pre.l" { - defArgsStr+="@@"; + g_defArgsStr+="@@"; } YY_BREAK case 15: YY_RULE_SETUP -#line 991 "pre.l" +#line 1022 "pre.l" { - defArgsStr+=*yytext; + g_defArgsStr+=*yytext; } YY_BREAK case 16: YY_RULE_SETUP -#line 994 "pre.l" +#line 1025 "pre.l" { - defArgsStr+=yytext; + g_defArgsStr+=yytext; } YY_BREAK case 17: YY_RULE_SETUP -#line 997 "pre.l" +#line 1028 "pre.l" { - defArgsStr+=*yytext; + g_defArgsStr+=*yytext; BEGIN(FindDefineArgs); } YY_BREAK case 18: YY_RULE_SETUP -#line 1001 "pre.l" +#line 1032 "pre.l" { - defArgsStr+=yytext; + g_defArgsStr+=yytext; } YY_BREAK case 19: YY_RULE_SETUP -#line 1004 "pre.l" +#line 1035 "pre.l" { - defArgsStr+=*yytext; + g_defArgsStr+=*yytext; } YY_BREAK case 20: YY_RULE_SETUP -#line 1007 "pre.l" +#line 1038 "pre.l" { if (Config::macroExpansionFlag) BEGIN(IncludeID); @@ -2342,14 +2373,17 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 1011 "pre.l" +#line 1042 "pre.l" { + char c[2]; + c[0]=yytext[yyleng-1];c[1]='\0'; + g_incName=c; BEGIN(Include); } YY_BREAK case 22: YY_RULE_SETUP -#line 1014 "pre.l" +#line 1048 "pre.l" { //printf("!!!DefName\n"); BEGIN(DefName); @@ -2360,10 +2394,10 @@ case 23: yy_c_buf_p = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1018 "pre.l" +#line 1052 "pre.l" { incrLevel(); - guardExpr.resize(0); + g_guardExpr.resize(0); BEGIN(DefinedExpr2); } YY_BREAK @@ -2372,11 +2406,11 @@ case 24: yy_c_buf_p = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1023 "pre.l" +#line 1057 "pre.l" { //printf("Pre.l: ifdef\n"); incrLevel(); - guardExpr.resize(0); + g_guardExpr.resize(0); BEGIN(DefinedExpr1); } YY_BREAK @@ -2385,10 +2419,10 @@ case 25: yy_c_buf_p = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1029 "pre.l" +#line 1063 "pre.l" { incrLevel(); - guardExpr="! "; + g_guardExpr="! "; BEGIN(DefinedExpr2); } YY_BREAK @@ -2397,10 +2431,10 @@ case 26: yy_c_buf_p = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1034 "pre.l" +#line 1068 "pre.l" { incrLevel(); - guardExpr="! "; + g_guardExpr="! "; BEGIN(DefinedExpr1); } YY_BREAK @@ -2409,10 +2443,10 @@ case 27: yy_c_buf_p = yy_cp = yy_bp + 2; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1039 "pre.l" +#line 1073 "pre.l" { incrLevel(); - guardExpr.resize(0); + g_guardExpr.resize(0); BEGIN(Guard); } YY_BREAK @@ -2421,16 +2455,16 @@ case 28: yy_c_buf_p = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1044 "pre.l" +#line 1078 "pre.l" { if (!otherCaseDone()) { - guardExpr.resize(0); + g_guardExpr.resize(0); BEGIN(Guard); } else { - ifcount=0; + g_ifcount=0; BEGIN(SkipCPPBlock); } } @@ -2440,26 +2474,26 @@ case 29: yy_c_buf_p = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1056 "pre.l" +#line 1090 "pre.l" { - //printf("else levelGuard[%d]=%d\n",level-1,levelGuard[level-1]); + //printf("else g_levelGuard[%d]=%d\n",g_level-1,g_levelGuard[g_level-1]); if (otherCaseDone()) { - ifcount=0; + g_ifcount=0; BEGIN(SkipCPPBlock); } else { setCaseDone(TRUE); - //levelGuard[level-1]=TRUE; + //g_levelGuard[g_level-1]=TRUE; } } YY_BREAK case 30: YY_RULE_SETUP -#line 1069 "pre.l" +#line 1103 "pre.l" { - BEGIN(UndefName); + BEGIN(Ung_defName); } YY_BREAK case 31: @@ -2467,11 +2501,11 @@ case 31: yy_c_buf_p = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1072 "pre.l" +#line 1106 "pre.l" { if (!otherCaseDone()) { - guardExpr.resize(0); + g_guardExpr.resize(0); BEGIN(Guard); } } @@ -2481,7 +2515,7 @@ case 32: yy_c_buf_p = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1079 "pre.l" +#line 1113 "pre.l" { //printf("Pre.l: #endif\n"); decrLevel(); @@ -2489,33 +2523,33 @@ YY_RULE_SETUP YY_BREAK case 33: YY_RULE_SETUP -#line 1083 "pre.l" +#line 1117 "pre.l" { outputChar('\n'); BEGIN(Start); - yyLineNr++; + g_yyLineNr++; } YY_BREAK case 34: YY_RULE_SETUP -#line 1088 "pre.l" +#line 1122 "pre.l" { // unknown directive BEGIN(IgnoreLine); } YY_BREAK case 35: YY_RULE_SETUP -#line 1091 "pre.l" +#line 1125 "pre.l" YY_BREAK case 36: YY_RULE_SETUP -#line 1092 "pre.l" +#line 1126 "pre.l" YY_BREAK case 37: YY_RULE_SETUP -#line 1093 "pre.l" +#line 1127 "pre.l" { Define *def; if ((def=isDefined(yytext))) @@ -2528,11 +2562,11 @@ YY_RULE_SETUP YY_BREAK case 38: YY_RULE_SETUP -#line 1102 "pre.l" +#line 1136 "pre.l" { outputChar('\n'); - guardExpr+=' '; - yyLineNr++; + g_guardExpr+=' '; + g_yyLineNr++; } YY_BREAK case 39: @@ -2540,7 +2574,7 @@ case 39: yy_c_buf_p = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1107 "pre.l" +#line 1141 "pre.l" { BEGIN(DefinedExpr2); } @@ -2550,89 +2584,89 @@ case 40: yy_c_buf_p = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1110 "pre.l" +#line 1144 "pre.l" { BEGIN(DefinedExpr1); } YY_BREAK case 41: YY_RULE_SETUP -#line 1113 "pre.l" -{ guardExpr+=*yytext; } +#line 1147 "pre.l" +{ g_guardExpr+=*yytext; } YY_BREAK case 42: YY_RULE_SETUP -#line 1114 "pre.l" +#line 1148 "pre.l" { outputChar('\n'); - yyLineNr++; + g_yyLineNr++; //printf("Guard: `%s'\n", - // guardExpr.data()); - bool guard=computeExpression(guardExpr); + // g_guardExpr.data()); + bool guard=computeExpression(g_guardExpr); setCaseDone(guard); - //printf("if levelGuard[%d]=%d\n",level-1,levelGuard[level-1]); + //printf("if g_levelGuard[%d]=%d\n",g_level-1,g_levelGuard[g_level-1]); if (guard) { BEGIN(Start); } else { - ifcount=0; + g_ifcount=0; BEGIN(SkipCPPBlock); } } YY_BREAK case 43: YY_RULE_SETUP -#line 1132 "pre.l" -{ yyLineNr++; outputChar('\n'); } +#line 1166 "pre.l" +{ g_yyLineNr++; outputChar('\n'); } YY_BREAK case 44: YY_RULE_SETUP -#line 1133 "pre.l" +#line 1167 "pre.l" { if (isDefined(yytext)) - guardExpr+=" 1L "; + g_guardExpr+=" 1L "; else - guardExpr+=" 0L "; - lastGuardName=yytext; + g_guardExpr+=" 0L "; + g_lastGuardName=yytext; BEGIN(Guard); } YY_BREAK case 45: YY_RULE_SETUP -#line 1141 "pre.l" +#line 1175 "pre.l" { if (isDefined(yytext)) - guardExpr+=" 1L "; + g_guardExpr+=" 1L "; else - guardExpr+=" 0L "; - lastGuardName.resize(0); + g_guardExpr+=" 0L "; + g_lastGuardName.resize(0); } YY_BREAK case 46: YY_RULE_SETUP -#line 1148 "pre.l" +#line 1182 "pre.l" { // should not happen, handle anyway - ifcount=0; + g_ifcount=0; BEGIN(SkipCPPBlock); } YY_BREAK case 47: YY_RULE_SETUP -#line 1152 "pre.l" +#line 1186 "pre.l" { BEGIN(Guard); } YY_BREAK case 48: YY_RULE_SETUP -#line 1155 "pre.l" +#line 1189 "pre.l" YY_BREAK case 49: YY_RULE_SETUP -#line 1156 "pre.l" +#line 1190 "pre.l" { BEGIN(SkipCommand); } YY_BREAK case 50: @@ -2640,12 +2674,12 @@ case 50: yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1157 "pre.l" +#line 1191 "pre.l" { BEGIN(SkipLine); } YY_BREAK case 51: YY_RULE_SETUP -#line 1158 "pre.l" +#line 1192 "pre.l" YY_BREAK case 52: @@ -2653,19 +2687,19 @@ case 52: yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1159 "pre.l" +#line 1193 "pre.l" { incrLevel(); - ifcount++; - //printf("#if... depth=%d\n",ifcount); + g_ifcount++; + //printf("#if... depth=%d\n",g_ifcount); } YY_BREAK case 53: YY_RULE_SETUP -#line 1164 "pre.l" +#line 1198 "pre.l" { - //printf("Else! ifcount=%d otherCaseDone=%d\n",ifcount,otherCaseDone()); - if (ifcount==0 && !otherCaseDone()) + //printf("Else! g_ifcount=%d otherCaseDone=%d\n",g_ifcount,otherCaseDone()); + if (g_ifcount==0 && !otherCaseDone()) { setCaseDone(TRUE); //outputChar('\n'); @@ -2678,14 +2712,14 @@ case 54: yy_c_buf_p = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1173 "pre.l" +#line 1207 "pre.l" { - if (ifcount==0) + if (g_ifcount==0) { if (!otherCaseDone()) { - guardExpr.resize(0); - lastGuardName.resize(0); + g_guardExpr.resize(0); + g_lastGuardName.resize(0); BEGIN(Guard); } else @@ -2697,10 +2731,10 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 1188 "pre.l" +#line 1222 "pre.l" { decrLevel(); - if (--ifcount<0) + if (--g_ifcount<0) { //outputChar('\n'); BEGIN(Start); @@ -2709,57 +2743,57 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 1196 "pre.l" +#line 1230 "pre.l" { outputChar('\n'); - yyLineNr++; + g_yyLineNr++; BEGIN(SkipCPPBlock); } YY_BREAK case 57: YY_RULE_SETUP -#line 1201 "pre.l" +#line 1235 "pre.l" { // unknown directive BEGIN(SkipLine); } YY_BREAK case 58: YY_RULE_SETUP -#line 1204 "pre.l" +#line 1238 "pre.l" YY_BREAK case 59: YY_RULE_SETUP -#line 1205 "pre.l" +#line 1239 "pre.l" YY_BREAK case 60: YY_RULE_SETUP -#line 1206 "pre.l" +#line 1240 "pre.l" YY_BREAK case 61: YY_RULE_SETUP -#line 1207 "pre.l" +#line 1241 "pre.l" { - lastCPPContext=YY_START; + g_lastCPPContext=YY_START; BEGIN(RemoveCPPComment); } YY_BREAK case 62: YY_RULE_SETUP -#line 1211 "pre.l" +#line 1245 "pre.l" { - lastCContext=YY_START; + g_lastCContext=YY_START; BEGIN(RemoveCComment); } YY_BREAK case 63: YY_RULE_SETUP -#line 1215 "pre.l" +#line 1249 "pre.l" { outputChar('\n'); - yyLineNr++; + g_yyLineNr++; BEGIN(SkipCPPBlock); } YY_BREAK @@ -2768,17 +2802,17 @@ case 64: yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1220 "pre.l" +#line 1254 "pre.l" { - roundCount=0; - defArgsStr=yytext; - findDefArgContext = IncludeID; + g_roundCount=0; + g_defArgsStr=yytext; + g_findDefArgContext = IncludeID; BEGIN(FindDefineArgs); } YY_BREAK case 65: YY_RULE_SETUP -#line 1226 "pre.l" +#line 1260 "pre.l" { readIncludeFile(expandMacro(yytext)); BEGIN(Start); @@ -2786,18 +2820,18 @@ YY_RULE_SETUP YY_BREAK case 66: YY_RULE_SETUP -#line 1230 "pre.l" +#line 1264 "pre.l" { - QCString incName=yytext; + g_incName+=yytext; //int l=incName.length(); //QCString incFileName=incName.left(l-1); //if (fileDefineCache->fileCached(incFileName)) //{ // printf("file already cached!\n"); - // fileDefineCache->merge(incFileName,yyFileName); + // fileDefineCache->merge(incFileName,g_yyFileName); //} //else if ((f=findFile(incFileName))) - readIncludeFile(incName); + readIncludeFile(g_incName); BEGIN(Start); } @@ -2807,336 +2841,345 @@ case 67: yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 1244 "pre.l" +#line 1278 "pre.l" { //printf("Define() `%s'\n",yytext); - argDict = new QDict<int>(31); - argDict->setAutoDelete(TRUE); - defArgs = 0; - defArgsStr.resize(0); - defText.resize(0); - defName = yytext; - defVarArgs = FALSE; + g_argDict = new QDict<int>(31); + g_argDict->setAutoDelete(TRUE); + g_defArgs = 0; + g_defArgsStr.resize(0); + g_defText.resize(0); + g_defLitText.resize(0); + g_defName = yytext; + g_defVarArgs = FALSE; BEGIN(DefineArg); } YY_BREAK case 68: YY_RULE_SETUP -#line 1255 "pre.l" +#line 1290 "pre.l" { //printf("Define `%s'\n",yytext); - argDict = 0; - defArgs = -1; - defArgsStr.resize(0); - defText.resize(0); - defName = yytext; - defVarArgs = FALSE; - QCString tmp=(QCString)"#define "+defName+defArgsStr; + g_argDict = 0; + g_defArgs = -1; + g_defArgsStr.resize(0); + g_defText.resize(0); + g_defLitText.resize(0); + g_defName = yytext; + g_defVarArgs = FALSE; + QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr; outputArray(tmp.data(),tmp.length()); - quoteArg=FALSE; + g_quoteArg=FALSE; BEGIN(DefineText); } YY_BREAK case 69: YY_RULE_SETUP -#line 1268 "pre.l" +#line 1304 "pre.l" { - argDict = 0; - defArgs = -1; - defName = yytext; - defArgsStr.resize(0); - defText.resize(0); - defVarArgs = FALSE; - if ( defName!=lastGuardName ) + g_argDict = 0; + g_defArgs = -1; + g_defName = yytext; + g_defArgsStr.resize(0); + g_defText.resize(0); + g_defLitText.resize(0); + g_defVarArgs = FALSE; + if ( g_defName!=g_lastGuardName ) { // define may appear in the output - QCString tmp=(QCString)"#define "+defName+defArgsStr; + QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr; outputArray(tmp.data(),tmp.length()); - quoteArg=FALSE; + g_quoteArg=FALSE; BEGIN(DefineText); } else // define is a guard => hide { //printf("Found a guard %s\n",yytext); Define *def=0; - //if (includeStack.isEmpty()) + //if (g_includeStack.isEmpty()) //{ // addDefine(); //} - if (/*!Config::onlyPredefinedFlag &&*/ (def=fileDefineDict->find(defName))==0) + if (/*!Config::onlyPredefinedFlag &&*/ (def=g_fileDefineDict->find(g_defName))==0) { - fileDefineDict->insert(defName,newDefine()); + g_fileDefineDict->insert(g_defName,newDefine()); } else if (def)// name already exists { if (def->undef) // undefined name { def->undef = FALSE; - def->name = defName; - def->definition = defText.stripWhiteSpace(); - def->nargs = defArgs; - def->fileName = yyFileName; - def->lineNr = yyLineNr; + def->name = g_defName; + def->definition = g_defText.stripWhiteSpace(); + def->nargs = g_defArgs; + def->fileName = g_yyFileName.copy(); + def->lineNr = g_yyLineNr; } else { - //printf("Error: define %s is defined more than once!\n",defName.data()); + //printf("Error: define %s is defined more than once!\n",g_defName.data()); } } //outputChar('\n'); - lastGuardName.resize(0); + g_lastGuardName.resize(0); BEGIN(Start); } } YY_BREAK case 70: YY_RULE_SETUP -#line 1315 "pre.l" -{ defArgsStr+=yytext; } +#line 1352 "pre.l" +{ g_defArgsStr+=yytext; } YY_BREAK case 71: YY_RULE_SETUP -#line 1316 "pre.l" -{ defArgsStr+=yytext; } +#line 1353 "pre.l" +{ g_defArgsStr+=yytext; } YY_BREAK case 72: YY_RULE_SETUP -#line 1317 "pre.l" +#line 1354 "pre.l" { - defArgsStr+=yytext; - QCString tmp=(QCString)"#define "+defName+defArgsStr; + g_defArgsStr+=yytext; + QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr; outputArray(tmp.data(),tmp.length()); - quoteArg=FALSE; + g_quoteArg=FALSE; BEGIN(DefineText); } YY_BREAK case 73: YY_RULE_SETUP -#line 1324 "pre.l" +#line 1361 "pre.l" { //printf("Define addArg(%s)\n",yytext); QCString argName=yytext; - defVarArgs = yytext[yyleng-1]=='.'; - if (defVarArgs) // strip ellipsis + g_defVarArgs = yytext[yyleng-1]=='.'; + if (g_defVarArgs) // strip ellipsis argName=argName.left(argName.length()-3); - defArgsStr+=yytext; - argDict->insert(argName,new int(defArgs)); - defArgs++; + g_defArgsStr+=yytext; + g_argDict->insert(argName,new int(g_defArgs)); + g_defArgs++; } YY_BREAK case 74: YY_RULE_SETUP -#line 1334 "pre.l" +#line 1371 "pre.l" { outputChar('/');outputChar('*'); - defText+=' '; - lastCContext=YY_START; + g_defText+=' '; + g_defLitText+=' '; + g_lastCContext=YY_START; BEGIN(SkipCComment); } YY_BREAK case 75: YY_RULE_SETUP -#line 1340 "pre.l" +#line 1378 "pre.l" { outputChar('/');outputChar('/'); - lastCPPContext=YY_START; + g_lastCPPContext=YY_START; + g_defLitText+=' '; BEGIN(SkipCPPComment); } YY_BREAK case 76: YY_RULE_SETUP -#line 1345 "pre.l" +#line 1384 "pre.l" { outputChar('*');outputChar('/'); - BEGIN(lastCContext); + BEGIN(g_lastCContext); } YY_BREAK case 77: YY_RULE_SETUP -#line 1349 "pre.l" +#line 1388 "pre.l" { outputChar('/');outputChar('/'); } YY_BREAK case 78: YY_RULE_SETUP -#line 1352 "pre.l" +#line 1391 "pre.l" { outputChar('/');outputChar('*'); } YY_BREAK case 79: YY_RULE_SETUP -#line 1355 "pre.l" +#line 1394 "pre.l" { outputArray(yytext,yyleng); } YY_BREAK case 80: YY_RULE_SETUP -#line 1358 "pre.l" +#line 1397 "pre.l" { - yyLineNr++; + g_yyLineNr++; outputChar('\n'); } YY_BREAK case 81: YY_RULE_SETUP -#line 1362 "pre.l" +#line 1401 "pre.l" { outputChar(*yytext); } YY_BREAK case 82: YY_RULE_SETUP -#line 1365 "pre.l" -{ BEGIN(lastCContext); } +#line 1404 "pre.l" +{ BEGIN(g_lastCContext); } YY_BREAK case 83: YY_RULE_SETUP -#line 1366 "pre.l" +#line 1405 "pre.l" YY_BREAK case 84: YY_RULE_SETUP -#line 1367 "pre.l" +#line 1406 "pre.l" YY_BREAK case 85: YY_RULE_SETUP -#line 1368 "pre.l" +#line 1407 "pre.l" YY_BREAK case 86: YY_RULE_SETUP -#line 1369 "pre.l" -{ yyLineNr++; outputChar('\n'); } +#line 1408 "pre.l" +{ g_yyLineNr++; outputChar('\n'); } YY_BREAK case 87: YY_RULE_SETUP -#line 1370 "pre.l" +#line 1409 "pre.l" YY_BREAK case 88: YY_RULE_SETUP -#line 1371 "pre.l" +#line 1410 "pre.l" { unput(*yytext); - BEGIN(lastCPPContext); + BEGIN(g_lastCPPContext); } YY_BREAK case 89: YY_RULE_SETUP -#line 1375 "pre.l" +#line 1414 "pre.l" { outputChar('/');outputChar('*'); } YY_BREAK case 90: YY_RULE_SETUP -#line 1378 "pre.l" +#line 1417 "pre.l" { outputChar('/');outputChar('/'); } YY_BREAK case 91: YY_RULE_SETUP -#line 1381 "pre.l" +#line 1420 "pre.l" { outputArray(yytext,yyleng); } YY_BREAK case 92: YY_RULE_SETUP -#line 1384 "pre.l" +#line 1423 "pre.l" { outputChar(*yytext); } YY_BREAK case 93: YY_RULE_SETUP -#line 1387 "pre.l" +#line 1426 "pre.l" YY_BREAK case 94: YY_RULE_SETUP -#line 1388 "pre.l" +#line 1427 "pre.l" YY_BREAK case 95: YY_RULE_SETUP -#line 1389 "pre.l" +#line 1428 "pre.l" YY_BREAK case 96: YY_RULE_SETUP -#line 1390 "pre.l" +#line 1429 "pre.l" YY_BREAK case 97: YY_RULE_SETUP -#line 1391 "pre.l" +#line 1430 "pre.l" { - quoteArg=TRUE; + g_quoteArg=TRUE; + g_defLitText+=yytext; } YY_BREAK case 98: YY_RULE_SETUP -#line 1394 "pre.l" +#line 1434 "pre.l" { - if (quoteArg) + g_defLitText+=yytext; + if (g_quoteArg) { - defText+="\""; + g_defText+="\""; } - if (defArgs>0) + if (g_defArgs>0) { int *n; - if ((n=(*argDict)[yytext])) + if ((n=(*g_argDict)[yytext])) { - if (!quoteArg) defText+=' '; - defText+='@'; + if (!g_quoteArg) g_defText+=' '; + g_defText+='@'; QCString numStr; numStr.setNum(*n); - defText+=numStr; - if (!quoteArg) defText+=' '; + g_defText+=numStr; + if (!g_quoteArg) g_defText+=' '; } else { - defText+=yytext; + g_defText+=yytext; } } else { - defText+=yytext; + g_defText+=yytext; } - if (quoteArg) + if (g_quoteArg) { - defText+="\""; + g_defText+="\""; } - quoteArg=FALSE; + g_quoteArg=FALSE; } YY_BREAK case 99: YY_RULE_SETUP -#line 1426 "pre.l" +#line 1467 "pre.l" { + g_defLitText+=yytext; outputChar('\n'); - defText += ' '; yyLineNr++; + g_defText += ' '; g_yyLineNr++; } YY_BREAK case 100: YY_RULE_SETUP -#line 1430 "pre.l" +#line 1472 "pre.l" { + g_defLitText+=yytext; outputChar('\n'); Define *def=0; - //printf("Define name=`%s' text=`%s'\n",defName.data(),defText.data()); - if (includeStack.isEmpty()) + //printf("Define name=`%s' text=`%s'\n",g_defName.data(),g_defText.data()); + if (g_includeStack.isEmpty()) { addDefine(); } - if (/*!Config::onlyPredefinedFlag &&*/ (def=fileDefineDict->find(defName))==0) + if (/*!Config::onlyPredefinedFlag &&*/ (def=g_fileDefineDict->find(g_defName))==0) { - fileDefineDict->insert(defName,newDefine()); + g_fileDefineDict->insert(g_defName,newDefine()); } else if (def)// name already exists { @@ -3144,99 +3187,101 @@ YY_RULE_SETUP if (def->undef) // undefined name { def->undef = FALSE; - def->name = defName; - def->definition = defText.stripWhiteSpace(); - def->nargs = defArgs; - def->fileName = yyFileName; - def->lineNr = yyLineNr; + def->name = g_defName; + def->definition = g_defText.stripWhiteSpace(); + def->nargs = g_defArgs; + def->fileName = g_yyFileName.copy(); + def->lineNr = g_yyLineNr; } else { - //printf("Error: define %s is defined more than once!\n",defName.data()); + //printf("Error: define %s is defined more than once!\n",g_defName.data()); } } - delete argDict; - yyLineNr++; - lastGuardName.resize(0); + delete g_argDict; g_argDict=0; + g_yyLineNr++; + g_lastGuardName.resize(0); BEGIN(Start); } YY_BREAK case 101: YY_RULE_SETUP -#line 1464 "pre.l" -{ defText += ' '; } +#line 1507 "pre.l" +{ g_defText += ' '; g_defLitText+=yytext; } YY_BREAK case 102: YY_RULE_SETUP -#line 1465 "pre.l" -{ defText += "##"; } +#line 1508 "pre.l" +{ g_defText += "##"; g_defLitText+=yytext; } YY_BREAK case 103: YY_RULE_SETUP -#line 1466 "pre.l" -{ defText += "@@"; } +#line 1509 "pre.l" +{ g_defText += "@@"; g_defLitText+=yytext; } YY_BREAK case 104: YY_RULE_SETUP -#line 1467 "pre.l" -{ defText += *yytext; - BEGIN(SkipDoubleQuote); +#line 1510 "pre.l" +{ g_defText += *yytext; + g_defLitText+=yytext; + BEGIN(SkipDoubleQuote); } YY_BREAK case 105: YY_RULE_SETUP -#line 1470 "pre.l" -{ defText += *yytext; +#line 1514 "pre.l" +{ g_defText += *yytext; + g_defLitText+=yytext; BEGIN(SkipSingleQuote); } YY_BREAK case 106: YY_RULE_SETUP -#line 1473 "pre.l" -{ defText += yytext; } +#line 1518 "pre.l" +{ g_defText += yytext; g_defLitText+=yytext; } YY_BREAK case 107: YY_RULE_SETUP -#line 1474 "pre.l" -{ defText += yytext; } +#line 1519 "pre.l" +{ g_defText += yytext; g_defLitText+=yytext; } YY_BREAK case 108: YY_RULE_SETUP -#line 1475 "pre.l" +#line 1520 "pre.l" { - defText += *yytext; + g_defText += *yytext; g_defLitText+=yytext; BEGIN(DefineText); } YY_BREAK case 109: YY_RULE_SETUP -#line 1479 "pre.l" +#line 1524 "pre.l" { - defText += yytext; + g_defText += yytext; g_defLitText+=yytext; } YY_BREAK case 110: YY_RULE_SETUP -#line 1482 "pre.l" +#line 1527 "pre.l" { - defText += *yytext; + g_defText += *yytext; g_defLitText+=yytext; BEGIN(DefineText); } YY_BREAK case 111: YY_RULE_SETUP -#line 1486 "pre.l" -{ defText += *yytext; } +#line 1531 "pre.l" +{ g_defText += *yytext; g_defLitText+=yytext; } YY_BREAK case 112: YY_RULE_SETUP -#line 1487 "pre.l" -{ defText += *yytext; } +#line 1532 "pre.l" +{ g_defText += *yytext; g_defLitText+=yytext; } YY_BREAK case 113: YY_RULE_SETUP -#line 1488 "pre.l" -{ defText += *yytext; } +#line 1533 "pre.l" +{ g_defText += *yytext; g_defLitText+=yytext; } YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(Start): @@ -3261,23 +3306,23 @@ case YY_STATE_EOF(DefinedExpr1): case YY_STATE_EOF(DefinedExpr2): case YY_STATE_EOF(SkipDoubleQuote): case YY_STATE_EOF(SkipSingleQuote): -case YY_STATE_EOF(UndefName): +case YY_STATE_EOF(Ung_defName): case YY_STATE_EOF(IgnoreLine): case YY_STATE_EOF(FindDefineArgs): case YY_STATE_EOF(ReadString): -#line 1489 "pre.l" +#line 1534 "pre.l" { //printf("End of include file\n"); - //printf("Include stack depth=%d\n",includeStack.count()); - if (includeStack.isEmpty()) + //printf("Include stack depth=%d\n",g_includeStack.count()); + if (g_includeStack.isEmpty()) { //printf("Terminating scanner!\n"); yyterminate(); } else { - FileState *fs=includeStack.pop(); - //fileDefineCache->merge(yyFileName,fs->fileName); + FileState *fs=g_includeStack.pop(); + //fileDefineCache->merge(g_yyFileName,fs->fileName); if (Config::inputFilter.isEmpty()) fclose(fs->filePtr); else @@ -3285,49 +3330,49 @@ case YY_STATE_EOF(ReadString): YY_BUFFER_STATE oldBuf = YY_CURRENT_BUFFER; yy_switch_to_buffer( fs->bufState ); yy_delete_buffer( oldBuf ); - yyLineNr=fs->lineNr; - yyFileName=fs->fileName.copy(); - //printf("######## FileName %s\n",yyFileName.data()); - delete fs; + g_yyLineNr=fs->lineNr; + setFileName(fs->fileName.copy()); + //printf("######## FileName %s\n",g_yyFileName.data()); + delete fs; fs=0; } } YY_BREAK case 114: YY_RULE_SETUP -#line 1514 "pre.l" +#line 1559 "pre.l" { outputChar('/');outputChar('*'); - lastCContext=YY_START; + g_lastCContext=YY_START; BEGIN(SkipCComment); } YY_BREAK case 115: YY_RULE_SETUP -#line 1519 "pre.l" +#line 1564 "pre.l" { outputChar('/');outputChar('/'); - lastCPPContext=YY_START; + g_lastCPPContext=YY_START; BEGIN(SkipCPPComment); } YY_BREAK case 116: YY_RULE_SETUP -#line 1524 "pre.l" +#line 1569 "pre.l" { outputChar('\n'); - yyLineNr++; + g_yyLineNr++; } YY_BREAK case 117: YY_RULE_SETUP -#line 1528 "pre.l" +#line 1573 "pre.l" { outputChar(*yytext); } YY_BREAK case 118: YY_RULE_SETUP -#line 1532 "pre.l" +#line 1577 "pre.l" ECHO; YY_BREAK @@ -3617,7 +3662,7 @@ static yy_state_type yy_get_previous_state() 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 >= 363 ) + if ( yy_current_state >= 365 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -3647,11 +3692,11 @@ yy_state_type yy_current_state; 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 >= 363 ) + if ( yy_current_state >= 365 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 362); + yy_is_jam = (yy_current_state == 364); if ( ! yy_is_jam ) *yy_state_ptr++ = yy_current_state; @@ -4209,7 +4254,7 @@ int main() return 0; } #endif -#line 1532 "pre.l" +#line 1577 "pre.l" /*@ ---------------------------------------------------------------------------- @@ -4223,7 +4268,7 @@ static int getNextChar(const QCString &expr,QCString *rest,uint &pos) //printf("%c=expr()\n",expr.at(pos)); return expr.at(pos++); } - else if (rest && rest->length()>0) + else if (rest && !rest->isEmpty()) { int cc=rest->at(0); *rest=rest->right(rest->length()-1); @@ -4246,7 +4291,7 @@ static int getCurrentChar(const QCString &expr,QCString *rest,uint pos) //printf("%c=expr()\n",expr.at(pos)); return expr.at(pos); } - else if (rest && rest->length()>0) + else if (rest && !rest->isEmpty()) { int cc=rest->at(0); //printf("%c=rest\n",cc); @@ -4283,27 +4328,27 @@ static void unputChar(const QCString &expr,QCString *rest,uint &pos,char c) void addSearchDir(const char *dir) { QFileInfo fi(dir); - if (fi.isDir()) pathList->append(fi.absFilePath()); + if (fi.isDir()) g_pathList->append(fi.absFilePath()); } void initPreprocessor() { - pathList = new QStrList; + g_pathList = new QStrList; addSearchDir("."); //defineNameList.setAutoDelete(TRUE); //defineNameList.clear(); defineDict.clear(); //fileDefineCache = new DefineCache(1009); - expandedDict = new DefineDict(17); - fileDefineDict = new DefineDict(1009); + g_expandedDict = new DefineDict(17); + g_fileDefineDict = new DefineDict(1009); } void cleanupPreprocessor() { //delete fileDefineCache; - delete fileDefineDict; - delete expandedDict; - delete pathList; + delete g_fileDefineDict; g_fileDefineDict=0; + delete g_expandedDict; g_expandedDict=0; + delete g_pathList; g_pathList=0; } @@ -4313,13 +4358,13 @@ void preprocessFile(const char *fileName,BufStr &output) uint orgOffset=output.curPos(); //#endif - outputBuf=&output; - includeStack.setAutoDelete(TRUE); - includeStack.clear(); - fileDefineDict->setAutoDelete(TRUE); - fileDefineDict->clear(); - expandedDict->setAutoDelete(FALSE); - expandedDict->clear(); + g_outputBuf=&output; + g_includeStack.setAutoDelete(TRUE); + g_includeStack.clear(); + g_fileDefineDict->setAutoDelete(TRUE); + g_fileDefineDict->clear(); + g_expandedDict->setAutoDelete(FALSE); + g_expandedDict->clear(); // add predefined macros char *defStr = Config::predefined.first(); @@ -4379,14 +4424,14 @@ void preprocessFile(const char *fileName,BufStr &output) def->nargs = count; def->isPredefined = TRUE; def->nonRecursive = nonRecursive; - fileDefineDict->insert(def->name,def); + g_fileDefineDict->insert(def->name,def); //printf("#define `%s' `%s' #nargs=%d\n", // def->name.data(),def->definition.data(),def->nargs); } else if ((i_obrace==-1 || i_obrace>i_equals) && (i_cbrace==-1 || i_cbrace>i_equals) && - ds.length()>0 && (int)ds.length()>i_equals + !ds.isEmpty() && (int)ds.length()>i_equals ) // predefined non-function macro definition { Define *def = new Define; @@ -4404,7 +4449,7 @@ void preprocessFile(const char *fileName,BufStr &output) def->nargs = -1; def->isPredefined = TRUE; def->nonRecursive = nonRecursive; - fileDefineDict->insert(def->name,def); + g_fileDefineDict->insert(def->name,def); //printf("#define `%s' `%s' #nargs=%d\n", // def->name.data(),def->definition.data(),def->nargs); @@ -4432,14 +4477,14 @@ void preprocessFile(const char *fileName,BufStr &output) return; } } - yyLineNr = 1; - level = 0; - ifcount = 0; - yyFileName = fileName; + g_yyLineNr = 1; + g_level = 0; + g_ifcount = 0; + setFileName(fileName); BEGIN( Start ); - lastGuardName.resize(0); - guardExpr.resize(0); + g_lastGuardName.resize(0); + g_guardExpr.resize(0); preYYlex(); if (Config::inputFilter.isEmpty()) |