Index: parse_y.c =================================================================== --- parse_y.c (revision 34233) +++ parse_y.c (revision 34234) @@ -539,16 +539,16 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 10 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 608 +#define YYLAST 614 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 55 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 112 +#define YYNNTS 113 /* YYNRULES -- Number of rules. */ -#define YYNRULES 214 +#define YYNRULES 216 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 643 +#define YYNSTATES 648 #define YYUNDEFTOK 2 #define YYMAXUTOK 305 @@ -613,14 +613,14 @@ 828, 835, 836, 837, 838, 839, 847, 846, 865, 864, 883, 882, 903, 901, 925, 923, 948, 949, 953, 954, 955, 956, 957, 959, 964, 969, 974, 979, 984, 989, - 989, 993, 994, 998, 999, 1000, 1001, 1003, 1009, 1016, - 1021, 1026, 1026, 1032, 1045, 1057, 1068, 1084, 1103, 1118, - 1131, 1142, 1153, 1154, 1158, 1159, 1162, 1164, 1180, 1199, - 1200, 1203, 1205, 1206, 1211, 1218, 1224, 1225, 1229, 1234, - 1235, 1239, 1240, 1246, 1245, 1257, 1258, 1262, 1263, 1267, - 1284, 1285, 1289, 1294, 1295, 1299, 1300, 1315, 1316, 1317, - 1321, 1334, 1335, 1339, 1340, 1345, 1346, 1347, 1348, 1349, - 1350, 1351, 1352, 1353, 1354 + 989, 993, 994, 998, 999, 1000, 1001, 1002, 1004, 1010, + 1017, 1022, 1027, 1027, 1033, 1046, 1058, 1069, 1085, 1104, + 1119, 1132, 1156, 1167, 1178, 1179, 1183, 1184, 1187, 1189, + 1205, 1224, 1225, 1228, 1230, 1231, 1236, 1243, 1249, 1250, + 1254, 1259, 1260, 1264, 1265, 1271, 1270, 1282, 1283, 1287, + 1288, 1292, 1309, 1310, 1314, 1319, 1320, 1324, 1325, 1340, + 1341, 1342, 1346, 1359, 1360, 1364, 1365, 1370, 1371, 1372, + 1373, 1374, 1375, 1376, 1377, 1378, 1379 }; #endif @@ -655,12 +655,12 @@ "elementdefinitions", "elementdefinition", "$@16", "relementdefs", "relementdef", "$@17", "pin_hi_format", "pin_1.7_format", "pin_1.6.3_format", "pin_newformat", "pin_oldformat", "pad_hi_format", - "pad_1.7_format", "pad_newformat", "pad", "flags", "symbols", "symbol", - "symbolhead", "symbolid", "symboldata", "symboldefinition", - "hiressymbol", "pcbnetlist", "pcbnetdef", "nets", "netdefs", "net", - "$@18", "connections", "conndefs", "conn", "pcbnetlistpatch", - "pcbnetpatchdef", "netpatches", "netpatchdefs", "netpatch", "attribute", - "opt_string", "number", "measure", YY_NULLPTR + "pad_1.7_format", "pad_4.3_format", "pad_newformat", "pad", "flags", + "symbols", "symbol", "symbolhead", "symbolid", "symboldata", + "symboldefinition", "hiressymbol", "pcbnetlist", "pcbnetdef", "nets", + "netdefs", "net", "$@18", "connections", "conndefs", "conn", + "pcbnetlistpatch", "pcbnetpatchdef", "netpatches", "netpatchdefs", + "netpatch", "attribute", "opt_string", "number", "measure", YY_NULLPTR }; #endif @@ -678,10 +678,10 @@ }; # endif -#define YYPACT_NINF -449 +#define YYPACT_NINF -423 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-449))) + (!!((Yystate) == (-423))) #define YYTABLE_NINF -90 @@ -692,71 +692,71 @@ STATE-NUM. */ static const yytype_int16 yypact[] = { - 151, -449, 39, -449, 4, 30, -449, 23, -449, 56, - -449, 32, 97, -31, -449, -449, -449, -449, -449, -449, - -449, 73, -5, 26, -449, 169, -449, 88, 30, -449, - -449, -449, -449, -449, -449, -449, -449, 48, 56, -449, - -449, 129, 55, 116, 49, 113, 140, 63, 63, 63, - 63, -449, 95, -449, -449, 84, 84, -449, -16, 105, - 143, 157, 92, 147, -449, -449, -449, -449, -449, 158, - 161, 168, 176, -449, -449, 305, 63, 63, 63, 63, - 187, -449, -449, 63, 63, 134, -449, -449, -449, -449, - 63, 6, 63, 63, 160, 156, 191, 192, 63, 210, - -449, -449, -449, -449, -449, -449, -449, -449, -449, 63, - 63, 224, 229, 233, 196, 197, 63, 63, 63, -449, - 63, 63, 63, 63, 63, 218, 257, 272, 185, 63, - -449, 236, 63, 221, 63, 63, 245, 255, 270, 63, - 63, 274, 287, 63, 63, 63, 63, 63, 283, 302, - 63, 63, 63, 353, 312, 63, 362, 239, 63, 63, - -449, -449, -449, 63, 63, -449, -449, 378, 0, 63, - 63, 334, 63, 341, 372, -449, -449, -449, 63, 63, - 63, 342, -449, 63, 343, 394, 251, 397, 398, 63, - 63, 351, 350, -449, 354, 355, -449, 356, 63, 357, - 380, 63, 63, 63, 358, 260, 399, -449, 359, 408, - 409, 49, 410, 63, 63, -449, -449, -449, -449, -449, - 63, 228, 363, 389, 63, 63, 414, -449, 205, 226, - 366, 253, 367, 368, 260, -449, 88, -449, -449, -449, - -449, -449, -449, -449, -449, -449, -449, 49, -449, 369, - 417, 373, 370, 376, 375, 63, 379, 381, 424, 256, - 412, 63, 90, 384, 33, 63, 63, 63, 63, 63, - 63, 63, 49, -449, -449, -449, 385, -449, 386, -449, - -449, -449, -449, 11, -449, -449, 387, 433, 436, 195, - -449, 63, 390, 63, 393, 276, 403, 404, 279, 280, - 102, -449, 88, -449, -449, -449, -449, -449, 63, 63, - 63, 63, 63, 63, 63, 405, -449, -449, -449, 13, - -449, 391, 406, 416, 49, 411, 454, -449, 63, 63, - 63, 63, 63, 63, 63, 63, -449, -449, -449, 63, - 63, 63, 63, 63, 63, 63, 415, -449, 63, -449, - -449, 418, 427, -449, 413, -449, 419, 33, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 264, -449, 420, 421, 423, -449, -449, 425, - 33, 426, 121, 63, 63, 63, 63, 63, 63, 422, - 437, 63, 63, 63, 63, 458, 457, 465, 464, 320, - -449, 428, 438, -449, 183, -449, -449, 63, 63, 299, - 63, 63, 63, -449, -449, 63, 63, 63, 63, 439, - 49, 440, 473, 63, 63, -449, 320, 448, 442, 165, - -449, 165, 63, 63, 486, 490, 63, 63, 63, 49, - 2, 63, 63, -449, 445, -449, 444, 63, 63, -17, - -449, 446, 447, 448, -449, -10, 321, 326, 327, 330, - 222, -449, 88, -449, -449, -449, -449, 234, 450, 449, - 459, 352, 494, 63, 63, 460, 461, -449, 63, 110, - -449, -449, 462, 463, 466, -449, -449, 510, -449, -449, - 467, 468, 469, 478, -10, -449, 63, 63, 63, 63, - 63, 63, 63, 63, -449, -449, -449, -449, -449, -449, - -449, 479, 514, 383, 63, 63, -449, -449, 49, 480, - 519, -449, -449, -449, 529, 530, 531, 538, -449, -449, - 63, 63, 63, 63, 63, 63, 63, 63, -449, 493, - 495, 544, 502, 503, 506, -449, 505, 320, 507, 554, - 556, 557, 63, 63, 63, 63, 63, 63, 63, 63, - -449, -449, 515, -449, -449, -449, -449, 516, 518, 520, - 521, 562, 63, 63, 63, 63, 63, 63, 63, 63, - -449, -449, -449, -449, -449, 522, 63, 63, 63, 63, - 63, 63, 63, 63, 539, -449, 525, 524, 63, 63, - 63, 63, 63, 63, 526, 527, 539, -449, -449, -449, - 567, 574, 63, 63, 63, 63, 576, -449, -449, 577, - 578, 579, 580, 535, 534, 536, 49, 585, 586, 587, - -449, -449, -449, 542, 537, 49, 591, -449, -449, 545, - 546, -449, -449 + 183, -423, 17, -423, 20, 29, -423, 23, -423, 44, + -423, 31, 97, 14, -423, -423, -423, -423, -423, -423, + -423, 53, 26, 48, -423, 147, -423, 83, 29, -423, + -423, -423, -423, -423, -423, -423, -423, 66, 44, -423, + -423, 125, 92, 124, 145, 181, 148, 35, 35, 35, + 35, -423, 114, -423, -423, 84, 84, -423, -13, 111, + 164, 173, 199, 158, -423, -423, -423, -423, -423, 180, + 193, 197, 210, -423, -423, 259, 35, 35, 35, 35, + 231, -423, -423, 35, 35, 200, -423, -423, -423, -423, + 35, 3, 35, 35, 206, 151, 239, 252, 35, 261, + -423, -423, -423, -423, -423, -423, -423, -423, -423, 35, + 35, 208, 269, 271, 244, 224, 35, 35, 35, -423, + 35, 35, 35, 35, 35, 248, 250, 317, 130, 35, + -423, 287, 35, 192, 35, 35, 288, 281, 300, 35, + 35, 304, 311, 35, 35, 35, 35, 35, 315, 342, + 35, 35, 35, 383, 336, 35, 388, 198, 35, 35, + -423, -423, -423, 35, 35, -423, -423, 389, -1, 35, + 35, 344, 35, 346, 380, -423, -423, -423, 35, 35, + 35, 348, -423, 35, 349, 394, 207, 400, 401, 35, + 35, 354, 353, -423, 356, 355, -423, 358, 35, 359, + 384, 35, 35, 35, 360, 213, 408, -423, 361, 412, + 411, 145, 414, 35, 35, -423, -423, -423, -423, -423, + 35, 202, 366, 392, 35, 35, 417, -423, 217, 223, + 369, 275, 370, 371, 213, -423, 83, -423, -423, -423, + -423, -423, -423, -423, -423, -423, -423, 145, -423, 372, + 420, 378, 375, 379, 381, 35, 382, 385, 428, 276, + 415, 35, 90, 386, 102, 35, 35, 35, 35, 35, + 35, 35, 145, -423, -423, -423, 390, -423, 387, -423, + -423, -423, -423, 8, -423, -423, 391, 432, 437, 238, + -423, 35, 393, 35, 395, 279, 404, 405, 280, 296, + 0, -423, 83, -423, -423, -423, -423, -423, 35, 35, + 35, 35, 35, 35, 35, 406, -423, -423, -423, 11, + -423, 407, 409, 413, 145, 416, 442, -423, 35, 35, + 35, 35, 35, 35, 35, 35, -423, -423, -423, 35, + 35, 35, 35, 35, 35, 35, 418, -423, 35, -423, + -423, 419, 427, -423, 410, -423, 422, 102, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 226, -423, 421, 423, 425, -423, -423, 426, + 102, 429, 143, 35, 35, 35, 35, 35, 35, 439, + 438, 35, 35, 35, 35, 461, 464, 470, 474, 301, + -423, 440, 441, -423, 332, -423, -423, 35, 35, 230, + 35, 35, 35, -423, -423, 35, 35, 35, 35, 443, + 145, 444, 477, 35, 35, -423, 301, 462, 446, 33, + -423, 33, 35, 35, 492, 494, 35, 35, 35, 145, + 5, 35, 35, -423, 449, -423, 448, 35, 35, -17, + -423, 450, 459, 462, -423, -15, 320, 321, 326, 327, + 121, -423, 83, -423, -423, -423, -423, -423, 155, 452, + 460, 463, 284, 509, 35, 35, 466, 465, -423, 35, + 110, -423, -423, 468, 467, 469, -423, -423, 510, -423, + -423, 471, 480, 481, 482, -15, -423, 35, 35, 35, + 35, 35, 35, 35, 35, -423, -423, -423, -423, -423, + -423, -423, 483, 519, 377, 35, 35, -423, -423, 145, + 484, 531, -423, -423, -423, 539, 542, 543, 544, -423, + -423, 35, 35, 35, 35, 35, 35, 35, 35, -423, + 501, 504, 555, 508, 507, 511, -423, 515, 301, 516, + 556, 558, 565, 35, 35, 35, 35, 35, 35, 35, + 35, -423, -423, 518, -423, -423, -423, -423, 520, 522, + 523, 524, 567, 35, 35, 35, 35, 35, 35, 35, + 35, -423, -423, -423, -423, -423, 525, 35, 35, 35, + 35, 35, 35, 35, 35, 547, -423, 529, 528, 35, + 35, 35, 35, 35, 35, 530, 532, 547, -423, -423, + -423, 570, 578, 237, 35, 35, 35, 579, -423, -423, + 581, 582, 583, 584, 585, 540, 541, 545, 145, 589, + 145, 588, 590, -423, -423, -423, 546, 548, 549, 145, + 593, -423, -423, -423, 551, 550, -423, -423 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -767,20 +767,20 @@ 0, 5, 0, 2, 16, 0, 3, 0, 4, 0, 1, 0, 0, 0, 9, 111, 112, 113, 114, 115, 60, 0, 0, 0, 11, 0, 51, 0, 0, 53, - 61, 62, 63, 64, 65, 56, 57, 0, 15, 164, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 52, 0, 55, 59, 0, 0, 165, 0, 0, - 0, 0, 0, 29, 21, 22, 23, 162, 163, 0, - 0, 0, 0, 203, 204, 205, 0, 0, 0, 0, - 0, 169, 170, 0, 0, 0, 166, 172, 173, 17, - 0, 0, 0, 0, 0, 30, 0, 0, 0, 202, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 0, + 61, 62, 63, 64, 65, 56, 57, 0, 15, 166, + 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 52, 0, 55, 59, 0, 0, 167, 0, 0, + 0, 0, 0, 29, 21, 22, 23, 164, 165, 0, + 0, 0, 0, 205, 206, 207, 0, 0, 0, 0, + 0, 171, 172, 0, 0, 0, 168, 174, 175, 17, + 0, 0, 0, 0, 0, 30, 0, 0, 0, 204, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, - 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 200, 167, 168, 0, 0, 20, 19, 0, 0, 0, + 202, 169, 170, 0, 0, 20, 19, 0, 0, 0, 0, 0, 0, 0, 43, 35, 36, 37, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 31, 0, 0, 0, @@ -792,60 +792,60 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 74, 78, 90, 0, 68, 0, 71, - 72, 175, 174, 0, 41, 42, 0, 0, 0, 0, - 12, 0, 204, 0, 0, 0, 0, 0, 0, 0, + 72, 177, 176, 0, 41, 42, 0, 0, 0, 0, + 12, 0, 206, 0, 0, 0, 0, 0, 0, 0, 139, 126, 0, 128, 129, 130, 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, 66, 67, 38, 0, - 44, 0, 0, 177, 0, 0, 0, 118, 0, 0, + 44, 0, 0, 179, 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, 0, 117, 127, 140, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 47, - 46, 0, 191, 176, 0, 120, 0, 139, 0, 0, + 46, 0, 193, 178, 0, 120, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 0, 0, 0, 7, 190, 0, + 0, 0, 0, 101, 0, 0, 0, 7, 192, 0, 139, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 40, 0, 0, 124, 139, 122, 119, 0, 0, 0, 0, 0, 0, 137, 138, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 103, 107, 180, 0, 151, - 121, 151, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 103, 107, 182, 0, 152, + 121, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, 98, 0, 0, 0, 0, - 108, 0, 0, 179, 181, 194, 0, 0, 0, 0, - 151, 141, 0, 144, 143, 146, 145, 151, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, - 100, 99, 0, 0, 0, 102, 104, 0, 178, 182, - 0, 0, 0, 0, 193, 195, 0, 0, 0, 0, - 0, 0, 0, 0, 125, 142, 152, 123, 133, 134, - 157, 0, 0, 0, 0, 0, 92, 93, 0, 204, - 0, 110, 109, 105, 0, 0, 0, 0, 192, 196, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, - 0, 0, 0, 0, 0, 97, 0, 107, 0, 0, + 108, 0, 0, 181, 183, 196, 0, 0, 0, 0, + 152, 141, 0, 144, 143, 147, 145, 146, 152, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, + 0, 100, 99, 0, 0, 0, 102, 104, 0, 180, + 184, 0, 0, 0, 0, 195, 197, 0, 0, 0, + 0, 0, 0, 0, 0, 125, 142, 153, 123, 133, + 134, 158, 0, 0, 0, 0, 0, 92, 93, 0, + 206, 0, 110, 109, 105, 0, 0, 0, 0, 194, + 198, 0, 0, 0, 0, 0, 0, 0, 0, 157, + 0, 0, 0, 0, 0, 0, 97, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 155, 161, 0, 135, 136, 95, 96, 0, 0, 0, + 0, 156, 163, 0, 135, 136, 95, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 160, 106, 183, 197, 198, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 199, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 185, 187, 147, 148, - 0, 0, 0, 0, 0, 0, 0, 184, 188, 0, + 0, 162, 106, 185, 199, 200, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 188, 201, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 189, 148, + 149, 0, 0, 0, 0, 0, 0, 0, 186, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 149, 150, 189, 0, 0, 0, 0, 153, 154, 0, - 0, 158, 159 + 0, 0, 0, 150, 151, 191, 0, 0, 0, 0, + 0, 154, 155, 161, 0, 0, 159, 160 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -449, -449, -449, -449, -449, -449, -449, -449, 336, -449, - -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, - -449, -449, -449, -449, -449, -449, 309, -449, 581, -449, - -449, -449, -449, -449, -449, -449, -449, -449, -449, -449, - -449, -449, 365, -449, -449, -449, -449, -449, -449, -449, - -449, -449, -449, -449, -449, -449, -449, -449, -423, -449, - 573, -449, -449, -449, -449, -449, -449, -449, -449, -449, - -449, -339, -292, -449, 171, -448, -449, -449, -449, -449, - -449, -449, -449, -449, -449, -449, -190, -449, 565, -449, - 548, -449, -449, -449, -449, -449, -449, -449, 152, -449, - -449, -449, 1, -449, -449, -449, -449, 114, -231, -449, - -47, -48 + -423, -423, -423, -423, -423, -423, -423, -423, 340, -423, + -423, -423, -423, -423, -423, -423, -423, -423, -423, -423, + -423, -423, -423, -423, -423, -423, 316, -423, 586, -423, + -423, -423, -423, -423, -423, -423, -423, -423, -423, -423, + -423, -423, 373, -423, -423, -423, -423, -423, -423, -423, + -423, -423, -423, -423, -423, -423, -423, -423, -422, -423, + 580, -423, -423, -423, -423, -423, -423, -423, -423, -423, + -423, -302, -292, -423, 175, -412, -423, -423, -423, -423, + -423, -423, -423, -423, -423, -423, -423, -164, -423, 571, + -423, 554, -423, -423, -423, -423, -423, -423, -423, 159, + -423, -423, -423, 6, -423, -423, -423, -423, 119, -231, + -423, -47, -48 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -856,13 +856,13 @@ 175, 176, 177, 200, 223, 260, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 205, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 399, 449, 486, 547, 425, 426, + 243, 244, 245, 246, 399, 449, 487, 548, 425, 426, 14, 15, 264, 16, 357, 17, 380, 18, 431, 19, 429, 300, 301, 302, 460, 461, 462, 463, 464, 303, - 304, 305, 465, 466, 306, 307, 69, 38, 39, 40, - 83, 58, 87, 88, 352, 353, 452, 453, 454, 594, - 605, 606, 607, 377, 378, 493, 494, 495, 53, 131, - 75, 76 + 304, 305, 465, 466, 467, 306, 307, 69, 38, 39, + 40, 83, 58, 87, 88, 352, 353, 452, 453, 454, + 595, 606, 607, 608, 377, 378, 494, 495, 496, 53, + 131, 75, 76 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -870,132 +870,134 @@ number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 77, 78, 79, 450, 192, 275, 476, 85, 337, 73, - 74, 11, 505, 484, 73, 74, 73, 74, 382, 505, - 44, 251, 45, -50, 20, 490, 491, 492, 109, 110, - 111, 112, 21, 22, 23, 114, 115, 485, 86, 10, - -58, 404, 118, 120, 121, 122, 47, 13, 48, 295, - 129, 296, 297, 67, 193, 68, 477, 276, 298, 299, - 119, 132, 133, 318, -54, 347, 73, 74, 139, 140, - 141, 338, 142, 143, 144, 145, 146, 49, 37, 50, - 152, 153, 315, 41, 155, 157, 158, 159, 81, 82, - 337, 163, 164, 73, 292, 167, 168, 169, 170, 55, - 171, 56, 178, 179, 180, 42, 60, 183, 61, 186, - 187, 188, 337, 73, 519, 189, 190, 70, 295, 71, - 296, 297, 194, 195, 567, 197, 46, 298, 299, 52, - 201, 202, 203, 59, 354, 206, 62, 295, 210, 296, - 297, 213, 214, 92, 72, 93, 298, 299, 80, 90, - 220, -10, 1, 224, 225, 226, 336, 89, -6, -6, - -10, -10, -10, 91, 96, 253, 254, 97, -8, -49, - 20, 94, 255, -14, 98, 406, 261, 262, 21, 22, - 23, 456, 99, 457, 458, 116, -58, 117, 73, 74, - 459, 151, -10, 113, 125, -50, 20, 127, 128, 295, - -49, 296, 297, -49, 21, 22, 23, 283, 298, 299, - -54, 123, -58, 124, 291, 293, 130, 308, 309, 310, - 311, 312, 313, 314, 73, 74, -50, 156, 134, -50, - 444, 506, 256, 135, 257, 319, -54, 430, 456, 136, - 457, 458, 73, 74, 324, 185, 326, 459, 137, 475, - 456, 138, 457, 458, 73, 74, 265, 209, 266, 459, - 339, 340, 341, 342, 343, 344, 345, 73, 74, 147, - 397, 348, 228, 229, 230, 231, 504, 267, 150, 268, - 358, 359, 360, 361, 362, 363, 364, 365, 507, 232, - 154, 366, 367, 368, 369, 370, 148, 371, 372, 160, - 374, -89, 73, 74, 270, 434, 271, 287, 161, 288, + 77, 78, 79, 192, 450, 275, 73, 74, 337, 477, + 85, 73, 74, 485, 73, 74, 295, 10, 296, 297, + 491, 492, 493, -50, 20, 298, 299, 11, 109, 110, + 111, 112, 21, 22, 23, 114, 115, 486, 73, 74, + -58, 86, 118, 120, 121, 122, 13, 251, 506, 456, + 129, 457, 458, 193, 336, 382, 506, 119, 459, 478, + 318, 132, 133, 347, -54, 44, 37, 45, 139, 140, + 141, 338, 142, 143, 144, 145, 146, 47, 404, 48, + 152, 153, 41, 276, 155, 157, 158, 159, 81, 82, + 337, 163, 164, 73, 292, 167, 168, 169, 170, 49, + 171, 50, 178, 179, 180, 42, 46, 183, 315, 186, + 187, 188, 337, 73, 520, 189, 190, 55, 295, 56, + 296, 297, 194, 195, 52, 197, 568, 298, 299, 59, + 201, 202, 203, 73, 74, 206, 151, 456, 210, 457, + 458, 213, 214, 60, 62, 61, 459, -49, 20, 67, + 220, 68, 72, 224, 225, 226, 21, 22, 23, 295, + 354, 296, 297, 89, -58, 253, 254, 80, 298, 299, + 90, 456, 255, 457, 458, 505, 261, 262, -49, 91, + 459, -49, 94, -10, 1, 70, 96, 71, -54, 125, + -6, -6, -10, -10, -10, 73, 74, 406, 156, 97, + -8, 73, 74, 98, 185, -14, 256, 283, 257, 508, + 73, 74, 134, 209, 291, 293, 99, 308, 309, 310, + 311, 312, 313, 314, -10, 228, 229, 230, 231, 73, + 74, 507, 397, 73, 74, 319, 434, 113, -50, 20, + 73, 74, 232, 622, 324, 127, 326, 21, 22, 23, + 92, 116, 93, 117, -89, -58, 444, 123, 128, 124, + 339, 340, 341, 342, 343, 344, 345, 130, 265, -50, + 266, 348, -50, 135, 267, 476, 268, 136, 138, -54, + 358, 359, 360, 361, 362, 363, 364, 365, 512, 148, + 513, 366, 367, 368, 369, 370, 137, 371, 372, 147, + 374, 100, 101, 102, 103, 104, 105, 106, 107, 108, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 162, 396, 398, 165, 328, 544, 329, - 332, 334, 333, 335, 172, 407, 408, 409, 410, 411, - 412, 166, 173, 415, 416, 417, 418, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 511, 181, 512, 432, - 433, 435, 436, 437, 438, 182, 184, 439, 440, 441, - 442, 423, 496, 424, 497, 447, 448, 498, 500, 499, - 501, 502, 191, 503, 468, 469, 196, 540, 472, 541, - 473, 474, 198, 199, 478, 479, 204, 207, 208, 482, - 483, 211, 212, 215, 216, 247, 217, 222, 219, 218, - 221, 227, 249, 248, 252, 250, 258, 259, 263, 269, - 272, 278, 273, 277, 280, 279, 514, 515, 281, 282, - 286, 518, 520, 284, -14, 285, 633, 316, 294, 321, - 317, 320, 322, 349, 325, 639, 327, 351, 530, 531, - 532, 533, 534, 535, 536, 537, 330, 331, 356, 346, - 350, 376, 419, 420, 355, 379, 542, 543, 373, 421, - 422, 375, 400, 381, 413, 401, 402, 446, 403, 405, - 451, 427, 552, 553, 554, 555, 556, 557, 558, 559, - 470, 414, 428, 443, 445, 455, 471, 480, 481, 487, - 513, 488, 508, 509, 572, 573, 574, 575, 576, 577, - 578, 579, 516, 510, 521, 517, 524, 522, 539, 523, - 525, 526, 527, 546, 586, 587, 588, 589, 590, 591, - 592, 593, 528, 538, 545, 548, 549, 550, 596, 597, - 598, 599, 600, 601, 551, 602, 603, 560, 562, 561, - 610, 611, 612, 613, 563, 614, 615, 564, 565, 566, - 569, 568, 570, 571, 621, 622, 623, 624, 585, 580, - 581, 582, 604, 619, 583, 584, 595, 608, 609, 616, - 620, 617, 625, 626, 627, 628, 629, 630, 631, 634, - 632, 638, 635, 636, 637, 640, 290, 641, 323, 274, - 642, 54, 467, 57, 84, 489, 51, 618, 529 + 393, 394, 395, 150, 396, 398, 270, 287, 271, 288, + 328, 332, 329, 333, 161, 407, 408, 409, 410, 411, + 412, 154, 160, 415, 416, 417, 418, 334, 295, 335, + 296, 297, 423, 162, 424, 545, 165, 298, 299, 432, + 433, 435, 436, 437, 438, 166, 172, 439, 440, 441, + 442, 497, 499, 498, 500, 447, 448, 501, 503, 502, + 504, 541, 173, 542, 469, 470, 430, 181, 473, 182, + 474, 475, 184, 191, 479, 480, 196, 198, 208, 483, + 484, 199, 204, 207, 211, 212, 215, 216, 217, 218, + 219, 222, 221, 227, 247, 248, 249, 250, 252, 258, + 259, 263, 269, 272, 278, 273, 277, 515, 516, 280, + 279, 281, 519, 521, 286, 282, 284, -14, 321, 285, + 294, 317, 316, 322, 351, 320, 356, 325, 327, 531, + 532, 533, 534, 535, 536, 537, 538, 330, 331, 349, + 346, 376, 379, 350, 636, 419, 638, 543, 544, 355, + 420, 373, 375, 400, 421, 644, 381, 401, 402, 403, + 422, 446, 405, 553, 554, 555, 556, 557, 558, 559, + 560, 413, 414, 427, 451, 428, 471, 443, 445, 455, + 472, 481, 482, 488, 509, 573, 574, 575, 576, 577, + 578, 579, 580, 489, 510, 514, 525, 511, 517, 518, + 522, 523, 524, 540, 526, 587, 588, 589, 590, 591, + 592, 593, 594, 527, 528, 547, 529, 539, 546, 597, + 598, 599, 600, 601, 602, 549, 603, 604, 550, 551, + 552, 611, 612, 613, 614, 561, 615, 616, 562, 563, + 564, 565, 570, 566, 571, 623, 624, 625, 626, 567, + 569, 572, 581, 586, 582, 583, 620, 584, 585, 596, + 605, 609, 610, 617, 621, 627, 618, 628, 629, 630, + 631, 632, 633, 637, 639, 634, 640, 645, 641, 635, + 290, 643, 642, 646, 647, 323, 468, 274, 54, 57, + 84, 51, 490, 619, 530 }; static const yytype_uint16 yycheck[] = { - 48, 49, 50, 426, 4, 236, 4, 23, 300, 3, - 4, 7, 460, 30, 3, 4, 3, 4, 357, 467, - 51, 211, 53, 0, 1, 35, 36, 37, 76, 77, - 78, 79, 9, 10, 11, 83, 84, 54, 54, 0, - 17, 380, 90, 91, 92, 93, 51, 17, 53, 16, - 98, 18, 19, 4, 54, 6, 54, 247, 25, 26, - 54, 109, 110, 52, 41, 52, 3, 4, 116, 117, - 118, 302, 120, 121, 122, 123, 124, 51, 22, 53, - 128, 129, 272, 51, 132, 133, 134, 135, 4, 5, + 48, 49, 50, 4, 426, 236, 3, 4, 300, 4, + 23, 3, 4, 30, 3, 4, 16, 0, 18, 19, + 35, 36, 37, 0, 1, 25, 26, 7, 76, 77, + 78, 79, 9, 10, 11, 83, 84, 54, 3, 4, + 17, 54, 90, 91, 92, 93, 17, 211, 460, 16, + 98, 18, 19, 54, 54, 357, 468, 54, 25, 54, + 52, 109, 110, 52, 41, 51, 22, 53, 116, 117, + 118, 302, 120, 121, 122, 123, 124, 51, 380, 53, + 128, 129, 51, 247, 132, 133, 134, 135, 4, 5, 382, 139, 140, 3, 4, 143, 144, 145, 146, 51, - 147, 53, 150, 151, 152, 8, 51, 155, 53, 157, - 158, 159, 404, 3, 4, 163, 164, 4, 16, 6, - 18, 19, 169, 170, 547, 172, 53, 25, 26, 41, - 178, 179, 180, 4, 324, 183, 20, 16, 186, 18, - 19, 189, 190, 51, 4, 53, 25, 26, 53, 6, - 198, 0, 1, 201, 202, 203, 54, 52, 7, 8, - 9, 10, 11, 6, 6, 213, 214, 6, 17, 0, - 1, 24, 220, 22, 6, 54, 224, 225, 9, 10, - 11, 16, 6, 18, 19, 51, 17, 53, 3, 4, - 25, 6, 41, 6, 38, 0, 1, 6, 6, 16, - 31, 18, 19, 34, 9, 10, 11, 255, 25, 26, - 41, 51, 17, 53, 261, 262, 6, 265, 266, 267, - 268, 269, 270, 271, 3, 4, 31, 6, 4, 34, - 420, 462, 4, 4, 6, 283, 41, 54, 16, 6, - 18, 19, 3, 4, 291, 6, 293, 25, 52, 439, - 16, 54, 18, 19, 3, 4, 51, 6, 53, 25, - 308, 309, 310, 311, 312, 313, 314, 3, 4, 51, - 6, 319, 12, 13, 14, 15, 54, 51, 6, 53, - 328, 329, 330, 331, 332, 333, 334, 335, 54, 29, - 54, 339, 340, 341, 342, 343, 39, 344, 345, 54, - 348, 41, 3, 4, 51, 6, 53, 51, 53, 53, + 147, 53, 150, 151, 152, 8, 53, 155, 272, 157, + 158, 159, 404, 3, 4, 163, 164, 51, 16, 53, + 18, 19, 169, 170, 41, 172, 548, 25, 26, 4, + 178, 179, 180, 3, 4, 183, 6, 16, 186, 18, + 19, 189, 190, 51, 20, 53, 25, 0, 1, 4, + 198, 6, 4, 201, 202, 203, 9, 10, 11, 16, + 324, 18, 19, 52, 17, 213, 214, 53, 25, 26, + 6, 16, 220, 18, 19, 54, 224, 225, 31, 6, + 25, 34, 24, 0, 1, 4, 6, 6, 41, 38, + 7, 8, 9, 10, 11, 3, 4, 54, 6, 6, + 17, 3, 4, 6, 6, 22, 4, 255, 6, 54, + 3, 4, 4, 6, 261, 262, 6, 265, 266, 267, + 268, 269, 270, 271, 41, 12, 13, 14, 15, 3, + 4, 462, 6, 3, 4, 283, 6, 6, 0, 1, + 3, 4, 29, 6, 291, 6, 293, 9, 10, 11, + 51, 51, 53, 53, 41, 17, 420, 51, 6, 53, + 308, 309, 310, 311, 312, 313, 314, 6, 51, 31, + 53, 319, 34, 4, 51, 439, 53, 6, 54, 41, + 328, 329, 330, 331, 332, 333, 334, 335, 4, 39, + 6, 339, 340, 341, 342, 343, 52, 344, 345, 51, + 348, 42, 43, 44, 45, 46, 47, 48, 49, 50, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 53, 371, 372, 52, 51, 518, 53, - 51, 51, 53, 53, 51, 383, 384, 385, 386, 387, - 388, 54, 40, 391, 392, 393, 394, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 4, 4, 6, 407, - 408, 409, 410, 411, 412, 53, 4, 415, 416, 417, + 368, 369, 370, 6, 371, 372, 51, 51, 53, 53, + 51, 51, 53, 53, 53, 383, 384, 385, 386, 387, + 388, 54, 54, 391, 392, 393, 394, 51, 16, 53, + 18, 19, 51, 53, 53, 519, 52, 25, 26, 407, + 408, 409, 410, 411, 412, 54, 51, 415, 416, 417, 418, 51, 51, 53, 53, 423, 424, 51, 51, 53, - 53, 51, 4, 53, 432, 433, 52, 4, 436, 6, - 437, 438, 51, 21, 441, 442, 54, 54, 4, 447, - 448, 4, 4, 52, 54, 6, 52, 27, 52, 54, - 53, 53, 4, 54, 4, 6, 53, 28, 4, 53, - 53, 4, 54, 54, 54, 52, 473, 474, 52, 54, - 6, 478, 479, 54, 22, 54, 626, 52, 54, 6, - 54, 54, 6, 52, 54, 635, 53, 31, 496, 497, - 498, 499, 500, 501, 502, 503, 53, 53, 4, 54, - 54, 34, 4, 6, 53, 52, 514, 515, 53, 4, - 6, 53, 52, 54, 52, 54, 53, 4, 53, 53, - 32, 53, 530, 531, 532, 533, 534, 535, 536, 537, - 4, 54, 54, 54, 54, 53, 6, 52, 54, 53, - 6, 54, 52, 54, 552, 553, 554, 555, 556, 557, - 558, 559, 52, 54, 52, 54, 6, 54, 4, 53, - 53, 53, 53, 4, 572, 573, 574, 575, 576, 577, - 578, 579, 54, 54, 54, 6, 6, 6, 586, 587, - 588, 589, 590, 591, 6, 592, 593, 54, 4, 54, - 598, 599, 600, 601, 52, 602, 603, 54, 52, 54, - 6, 54, 6, 6, 612, 613, 614, 615, 6, 54, - 54, 53, 33, 6, 54, 54, 54, 52, 54, 53, - 6, 54, 6, 6, 6, 6, 6, 52, 54, 4, - 54, 54, 6, 6, 52, 4, 260, 52, 289, 234, - 54, 28, 431, 38, 56, 453, 25, 606, 494 + 53, 4, 40, 6, 432, 433, 54, 4, 436, 53, + 437, 438, 4, 4, 441, 442, 52, 51, 4, 447, + 448, 21, 54, 54, 4, 4, 52, 54, 52, 54, + 52, 27, 53, 53, 6, 54, 4, 6, 4, 53, + 28, 4, 53, 53, 4, 54, 54, 474, 475, 54, + 52, 52, 479, 480, 6, 54, 54, 22, 6, 54, + 54, 54, 52, 6, 31, 54, 4, 54, 53, 497, + 498, 499, 500, 501, 502, 503, 504, 53, 53, 52, + 54, 34, 52, 54, 628, 4, 630, 515, 516, 53, + 6, 53, 53, 52, 4, 639, 54, 54, 53, 53, + 6, 4, 53, 531, 532, 533, 534, 535, 536, 537, + 538, 52, 54, 53, 32, 54, 4, 54, 54, 53, + 6, 52, 54, 53, 52, 553, 554, 555, 556, 557, + 558, 559, 560, 54, 54, 6, 6, 54, 52, 54, + 52, 54, 53, 4, 53, 573, 574, 575, 576, 577, + 578, 579, 580, 53, 53, 4, 54, 54, 54, 587, + 588, 589, 590, 591, 592, 6, 593, 594, 6, 6, + 6, 599, 600, 601, 602, 54, 603, 604, 54, 4, + 52, 54, 6, 52, 6, 613, 614, 615, 616, 54, + 54, 6, 54, 6, 54, 53, 6, 54, 54, 54, + 33, 52, 54, 53, 6, 6, 54, 6, 6, 6, + 6, 6, 52, 4, 6, 54, 6, 4, 52, 54, + 260, 52, 54, 52, 54, 289, 431, 234, 28, 38, + 56, 25, 453, 607, 495 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1005,68 +1007,68 @@ 0, 1, 56, 57, 58, 59, 60, 61, 63, 64, 0, 7, 65, 17, 115, 116, 118, 120, 122, 124, 1, 9, 10, 11, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 22, 142, 143, - 144, 51, 8, 66, 51, 53, 53, 51, 53, 51, - 53, 83, 41, 163, 115, 51, 53, 143, 146, 4, - 51, 53, 20, 67, 68, 69, 70, 4, 6, 141, - 4, 6, 4, 3, 4, 165, 166, 166, 166, 166, - 53, 4, 5, 145, 145, 23, 54, 147, 148, 52, + 87, 88, 89, 90, 91, 92, 93, 22, 143, 144, + 145, 51, 8, 66, 51, 53, 53, 51, 53, 51, + 53, 83, 41, 164, 115, 51, 53, 144, 147, 4, + 51, 53, 20, 67, 68, 69, 70, 4, 6, 142, + 4, 6, 4, 3, 4, 166, 167, 167, 167, 167, + 53, 4, 5, 146, 146, 23, 54, 148, 149, 52, 6, 6, 51, 53, 24, 71, 6, 6, 6, 6, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 166, - 166, 166, 166, 6, 166, 166, 51, 53, 166, 54, - 166, 166, 166, 51, 53, 38, 72, 6, 6, 166, - 6, 164, 166, 166, 4, 4, 6, 52, 54, 166, - 166, 166, 166, 166, 166, 166, 166, 51, 39, 73, - 6, 6, 166, 166, 54, 166, 6, 166, 166, 166, - 54, 53, 53, 166, 166, 52, 54, 166, 166, 166, - 166, 165, 51, 40, 74, 75, 76, 77, 166, 166, - 166, 4, 53, 166, 4, 6, 166, 166, 166, 166, - 166, 4, 4, 54, 165, 165, 52, 165, 51, 21, - 78, 166, 166, 166, 54, 94, 166, 54, 4, 6, - 166, 4, 4, 166, 166, 52, 54, 52, 54, 52, - 166, 53, 27, 79, 166, 166, 166, 53, 12, 13, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 167, + 167, 167, 167, 6, 167, 167, 51, 53, 167, 54, + 167, 167, 167, 51, 53, 38, 72, 6, 6, 167, + 6, 165, 167, 167, 4, 4, 6, 52, 54, 167, + 167, 167, 167, 167, 167, 167, 167, 51, 39, 73, + 6, 6, 167, 167, 54, 167, 6, 167, 167, 167, + 54, 53, 53, 167, 167, 52, 54, 167, 167, 167, + 167, 166, 51, 40, 74, 75, 76, 77, 167, 167, + 167, 4, 53, 167, 4, 6, 167, 167, 167, 167, + 167, 4, 4, 54, 166, 166, 52, 166, 51, 21, + 78, 167, 167, 167, 54, 94, 167, 54, 4, 6, + 167, 4, 4, 167, 167, 52, 54, 52, 54, 52, + 167, 53, 27, 79, 167, 167, 167, 53, 12, 13, 14, 15, 29, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 6, 54, 4, - 6, 141, 4, 166, 166, 166, 4, 6, 53, 28, - 80, 166, 166, 4, 117, 51, 53, 51, 53, 53, - 51, 53, 53, 54, 97, 163, 141, 54, 4, 52, - 54, 52, 54, 166, 54, 54, 6, 51, 53, 62, - 63, 165, 4, 165, 54, 16, 18, 19, 25, 26, - 126, 127, 128, 134, 135, 136, 139, 140, 166, 166, - 166, 166, 166, 166, 166, 141, 52, 54, 52, 166, - 54, 6, 6, 81, 165, 54, 165, 53, 51, 53, - 53, 53, 51, 53, 51, 53, 54, 127, 163, 166, - 166, 166, 166, 166, 166, 166, 54, 52, 166, 52, - 54, 31, 149, 150, 141, 53, 4, 119, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 165, 165, 53, 166, 53, 34, 158, 159, 52, - 121, 54, 126, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 165, 6, 165, 109, - 52, 54, 53, 53, 126, 53, 54, 166, 166, 166, - 166, 166, 166, 52, 54, 166, 166, 166, 166, 4, + 6, 142, 4, 167, 167, 167, 4, 6, 53, 28, + 80, 167, 167, 4, 117, 51, 53, 51, 53, 53, + 51, 53, 53, 54, 97, 164, 142, 54, 4, 52, + 54, 52, 54, 167, 54, 54, 6, 51, 53, 62, + 63, 166, 4, 166, 54, 16, 18, 19, 25, 26, + 126, 127, 128, 134, 135, 136, 140, 141, 167, 167, + 167, 167, 167, 167, 167, 142, 52, 54, 52, 167, + 54, 6, 6, 81, 166, 54, 166, 53, 51, 53, + 53, 53, 51, 53, 51, 53, 54, 127, 164, 167, + 167, 167, 167, 167, 167, 167, 54, 52, 167, 52, + 54, 31, 150, 151, 142, 53, 4, 119, 167, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 166, 166, 53, 167, 53, 34, 159, 160, 52, + 121, 54, 126, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 166, 6, 166, 109, + 52, 54, 53, 53, 126, 53, 54, 167, 167, 167, + 167, 167, 167, 52, 54, 167, 167, 167, 167, 4, 6, 4, 6, 51, 53, 113, 114, 53, 54, 125, - 54, 123, 166, 166, 6, 166, 166, 166, 166, 166, - 166, 166, 166, 54, 141, 54, 4, 166, 166, 110, - 113, 32, 151, 152, 153, 53, 16, 18, 19, 25, - 129, 130, 131, 132, 133, 137, 138, 129, 166, 166, - 4, 6, 166, 165, 165, 141, 4, 54, 165, 165, - 52, 54, 166, 166, 30, 54, 111, 53, 54, 153, - 35, 36, 37, 160, 161, 162, 51, 53, 51, 53, - 51, 53, 51, 53, 54, 130, 163, 54, 52, 54, - 54, 4, 6, 6, 165, 165, 52, 54, 165, 4, - 165, 52, 54, 53, 6, 53, 53, 53, 54, 162, - 166, 166, 166, 166, 166, 166, 166, 166, 54, 4, - 4, 6, 166, 166, 141, 54, 4, 112, 6, 6, - 6, 6, 166, 166, 166, 166, 166, 166, 166, 166, - 54, 54, 4, 52, 54, 52, 54, 113, 54, 6, - 6, 6, 166, 166, 166, 166, 166, 166, 166, 166, - 54, 54, 53, 54, 54, 6, 166, 166, 166, 166, - 166, 166, 166, 166, 154, 54, 166, 166, 166, 166, - 166, 166, 165, 165, 33, 155, 156, 157, 52, 54, - 166, 166, 166, 166, 165, 165, 53, 54, 157, 6, - 6, 166, 166, 166, 166, 6, 6, 6, 6, 6, - 52, 54, 54, 141, 4, 6, 6, 52, 54, 141, - 4, 52, 54 + 54, 123, 167, 167, 6, 167, 167, 167, 167, 167, + 167, 167, 167, 54, 142, 54, 4, 167, 167, 110, + 113, 32, 152, 153, 154, 53, 16, 18, 19, 25, + 129, 130, 131, 132, 133, 137, 138, 139, 129, 167, + 167, 4, 6, 167, 166, 166, 142, 4, 54, 166, + 166, 52, 54, 167, 167, 30, 54, 111, 53, 54, + 154, 35, 36, 37, 161, 162, 163, 51, 53, 51, + 53, 51, 53, 51, 53, 54, 130, 164, 54, 52, + 54, 54, 4, 6, 6, 166, 166, 52, 54, 166, + 4, 166, 52, 54, 53, 6, 53, 53, 53, 54, + 163, 167, 167, 167, 167, 167, 167, 167, 167, 54, + 4, 4, 6, 167, 167, 142, 54, 4, 112, 6, + 6, 6, 6, 167, 167, 167, 167, 167, 167, 167, + 167, 54, 54, 4, 52, 54, 52, 54, 113, 54, + 6, 6, 6, 167, 167, 167, 167, 167, 167, 167, + 167, 54, 54, 53, 54, 54, 6, 167, 167, 167, + 167, 167, 167, 167, 167, 155, 54, 167, 167, 167, + 167, 167, 167, 166, 166, 33, 156, 157, 158, 52, + 54, 167, 167, 167, 167, 166, 166, 53, 54, 158, + 6, 6, 6, 167, 167, 167, 167, 6, 6, 6, + 6, 6, 6, 52, 54, 54, 142, 4, 142, 6, + 6, 52, 54, 52, 142, 4, 52, 54 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -1087,13 +1089,13 @@ 121, 120, 123, 122, 125, 124, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, 129, 129, 130, 130, 130, 130, 130, 130, 130, - 130, 131, 130, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 141, 142, 142, 143, 144, 144, 145, - 145, 146, 146, 146, 147, 148, 149, 149, 150, 151, - 151, 152, 152, 154, 153, 155, 155, 156, 156, 157, - 158, 158, 159, 160, 160, 161, 161, 162, 162, 162, - 163, 164, 164, 165, 165, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166 + 130, 130, 131, 130, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 142, 143, 143, 144, 145, + 145, 146, 146, 147, 147, 147, 148, 149, 150, 150, + 151, 152, 152, 153, 153, 155, 154, 156, 156, 157, + 157, 158, 159, 159, 160, 161, 161, 162, 162, 163, + 163, 163, 164, 165, 165, 166, 166, 167, 167, 167, + 167, 167, 167, 167, 167, 167, 167 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1113,14 +1115,14 @@ 4, 1, 1, 1, 1, 1, 0, 12, 0, 15, 0, 16, 0, 18, 0, 18, 1, 2, 1, 1, 1, 1, 1, 8, 8, 10, 10, 5, 5, 0, - 2, 1, 2, 1, 1, 1, 1, 8, 8, 10, - 10, 0, 2, 12, 12, 10, 9, 8, 13, 13, - 11, 10, 1, 1, 1, 2, 3, 6, 6, 1, - 1, 0, 2, 2, 8, 8, 1, 0, 6, 1, - 0, 1, 2, 0, 9, 1, 0, 1, 2, 4, - 1, 0, 6, 1, 0, 1, 2, 5, 5, 6, - 5, 1, 0, 1, 1, 1, 2, 2, 2, 2, - 2, 2, 2, 2, 2 + 2, 1, 2, 1, 1, 1, 1, 1, 8, 8, + 10, 10, 0, 2, 12, 12, 10, 9, 8, 13, + 13, 12, 11, 10, 1, 1, 1, 2, 3, 6, + 6, 1, 1, 0, 2, 2, 8, 8, 1, 0, + 6, 1, 0, 1, 2, 0, 9, 1, 0, 1, + 2, 4, 1, 0, 6, 1, 0, 1, 2, 5, + 5, 6, 5, 1, 0, 1, 1, 1, 2, 2, + 2, 2, 2, 2, 2, 2, 2 }; @@ -1808,7 +1810,7 @@ case 5: #line 151 "parse_y.y" /* yacc.c:1652 */ { YYABORT; } -#line 1812 "parse_y.c" /* yacc.c:1652 */ +#line 1814 "parse_y.c" /* yacc.c:1652 */ break; case 6: @@ -1835,7 +1837,7 @@ layer_group_string = NULL; old_fmt = 0; } -#line 1839 "parse_y.c" /* yacc.c:1652 */ +#line 1841 "parse_y.c" /* yacc.c:1652 */ break; case 7: @@ -1877,7 +1879,7 @@ PCB_ENDALL_LOOP; PCB = pcb_save; } -#line 1881 "parse_y.c" /* yacc.c:1652 */ +#line 1883 "parse_y.c" /* yacc.c:1652 */ break; case 8: @@ -1884,7 +1886,7 @@ #line 229 "parse_y.y" /* yacc.c:1652 */ { PreLoadElementPCB (); layer_group_string = NULL; } -#line 1888 "parse_y.c" /* yacc.c:1652 */ +#line 1890 "parse_y.c" /* yacc.c:1652 */ break; case 9: @@ -1908,7 +1910,7 @@ } PostLoadElementPCB (); } -#line 1912 "parse_y.c" /* yacc.c:1652 */ +#line 1914 "parse_y.c" /* yacc.c:1652 */ break; case 10: @@ -1928,7 +1930,7 @@ LayerFlag[i] = rnd_false; yyData->LayerN = 0; } -#line 1932 "parse_y.c" /* yacc.c:1652 */ +#line 1934 "parse_y.c" /* yacc.c:1652 */ break; case 14: @@ -1946,7 +1948,7 @@ } *yyFontkitValid = rnd_false; } -#line 1950 "parse_y.c" /* yacc.c:1652 */ +#line 1952 "parse_y.c" /* yacc.c:1652 */ break; case 15: @@ -1955,7 +1957,7 @@ *yyFontkitValid = rnd_true; pcb_font_set_info(yyFont); } -#line 1959 "parse_y.c" /* yacc.c:1652 */ +#line 1961 "parse_y.c" /* yacc.c:1652 */ break; case 17: @@ -1966,7 +1968,7 @@ YYABORT; } } -#line 1970 "parse_y.c" /* yacc.c:1652 */ +#line 1972 "parse_y.c" /* yacc.c:1652 */ break; case 18: @@ -1977,7 +1979,7 @@ yyPCB->hidlib.size_y = RND_MAX_COORD; old_fmt = 1; } -#line 1981 "parse_y.c" /* yacc.c:1652 */ +#line 1983 "parse_y.c" /* yacc.c:1652 */ break; case 19: @@ -1988,7 +1990,7 @@ yyPCB->hidlib.size_y = OU ((yyvsp[-1].measure)); old_fmt = 1; } -#line 1992 "parse_y.c" /* yacc.c:1652 */ +#line 1994 "parse_y.c" /* yacc.c:1652 */ break; case 20: @@ -1999,7 +2001,7 @@ yyPCB->hidlib.size_y = NU ((yyvsp[-1].measure)); old_fmt = 0; } -#line 2003 "parse_y.c" /* yacc.c:1652 */ +#line 2005 "parse_y.c" /* yacc.c:1652 */ break; case 24: @@ -2009,7 +2011,7 @@ yyPCB->hidlib.grid_ox = OU ((yyvsp[-2].measure)); yyPCB->hidlib.grid_oy = OU ((yyvsp[-1].measure)); } -#line 2013 "parse_y.c" /* yacc.c:1652 */ +#line 2015 "parse_y.c" /* yacc.c:1652 */ break; case 25: @@ -2025,7 +2027,7 @@ rnd_conf_set(yy_settings_dest, "editor/draw_grid", -1, "false", RND_POL_OVERWRITE); } } -#line 2029 "parse_y.c" /* yacc.c:1652 */ +#line 2031 "parse_y.c" /* yacc.c:1652 */ break; case 26: @@ -2041,7 +2043,7 @@ rnd_conf_set(yy_settings_dest, "editor/draw_grid", -1, "false", RND_POL_OVERWRITE); } } -#line 2045 "parse_y.c" /* yacc.c:1652 */ +#line 2047 "parse_y.c" /* yacc.c:1652 */ break; case 27: @@ -2049,7 +2051,7 @@ { /* Not loading cursor position and zoom anymore */ } -#line 2053 "parse_y.c" /* yacc.c:1652 */ +#line 2055 "parse_y.c" /* yacc.c:1652 */ break; case 28: @@ -2057,7 +2059,7 @@ { /* Not loading cursor position and zoom anymore */ } -#line 2061 "parse_y.c" /* yacc.c:1652 */ +#line 2063 "parse_y.c" /* yacc.c:1652 */ break; case 31: @@ -2066,7 +2068,7 @@ /* Read in cmil^2 for now; in future this should be a noop. */ load_meta_float("design/poly_isle_area", RND_MIL_TO_COORD(RND_MIL_TO_COORD ((yyvsp[-1].number)) / 100.0) / 100.0); } -#line 2070 "parse_y.c" /* yacc.c:1652 */ +#line 2072 "parse_y.c" /* yacc.c:1652 */ break; case 33: @@ -2074,7 +2076,7 @@ { yyPCB->ThermScale = (yyvsp[-1].number); } -#line 2078 "parse_y.c" /* yacc.c:1652 */ +#line 2080 "parse_y.c" /* yacc.c:1652 */ break; case 38: @@ -2085,7 +2087,7 @@ load_meta_coord("design/min_wid", NU((yyvsp[-1].measure))); load_meta_coord("design/min_ring", NU((yyvsp[-1].measure))); } -#line 2089 "parse_y.c" /* yacc.c:1652 */ +#line 2091 "parse_y.c" /* yacc.c:1652 */ break; case 39: @@ -2097,7 +2099,7 @@ load_meta_coord("design/min_slk", NU((yyvsp[-1].measure))); load_meta_coord("design/min_ring", NU((yyvsp[-2].measure))); } -#line 2101 "parse_y.c" /* yacc.c:1652 */ +#line 2103 "parse_y.c" /* yacc.c:1652 */ break; case 40: @@ -2110,7 +2112,7 @@ load_meta_coord("design/min_drill", NU((yyvsp[-2].measure))); load_meta_coord("design/min_ring", NU((yyvsp[-1].measure))); } -#line 2114 "parse_y.c" /* yacc.c:1652 */ +#line 2116 "parse_y.c" /* yacc.c:1652 */ break; case 41: @@ -2118,7 +2120,7 @@ { yy_pcb_flags = pcb_flag_make((yyvsp[-1].integer) & PCB_FLAGS); } -#line 2122 "parse_y.c" /* yacc.c:1652 */ +#line 2124 "parse_y.c" /* yacc.c:1652 */ break; case 42: @@ -2127,7 +2129,7 @@ yy_pcb_flags = pcb_strflg_board_s2f((yyvsp[-1].string), yyerror); free((yyvsp[-1].string)); } -#line 2131 "parse_y.c" /* yacc.c:1652 */ +#line 2133 "parse_y.c" /* yacc.c:1652 */ break; case 44: @@ -2135,7 +2137,7 @@ { layer_group_string = (yyvsp[-1].string); } -#line 2139 "parse_y.c" /* yacc.c:1652 */ +#line 2141 "parse_y.c" /* yacc.c:1652 */ break; case 46: @@ -2148,7 +2150,7 @@ } free((yyvsp[-1].string)); } -#line 2152 "parse_y.c" /* yacc.c:1652 */ +#line 2154 "parse_y.c" /* yacc.c:1652 */ break; case 47: @@ -2161,13 +2163,13 @@ } free((yyvsp[-1].string)); } -#line 2165 "parse_y.c" /* yacc.c:1652 */ +#line 2167 "parse_y.c" /* yacc.c:1652 */ break; case 54: #line 501 "parse_y.y" /* yacc.c:1652 */ { attr_list = & yyPCB->Attributes; } -#line 2171 "parse_y.c" /* yacc.c:1652 */ +#line 2173 "parse_y.c" /* yacc.c:1652 */ break; case 58: @@ -2178,13 +2180,13 @@ */ yysubc = NULL; } -#line 2182 "parse_y.c" /* yacc.c:1652 */ +#line 2184 "parse_y.c" /* yacc.c:1652 */ break; case 60: #line 512 "parse_y.y" /* yacc.c:1652 */ { YYABORT; } -#line 2188 "parse_y.c" /* yacc.c:1652 */ +#line 2190 "parse_y.c" /* yacc.c:1652 */ break; case 66: @@ -2194,7 +2196,7 @@ NU ((yyvsp[-3].measure)), (yyvsp[-2].string), (yyvsp[-1].flagtype)); free ((yyvsp[-2].string)); } -#line 2198 "parse_y.c" /* yacc.c:1652 */ +#line 2200 "parse_y.c" /* yacc.c:1652 */ break; case 67: @@ -2204,7 +2206,7 @@ pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2208 "parse_y.c" /* yacc.c:1652 */ +#line 2210 "parse_y.c" /* yacc.c:1652 */ break; case 68: @@ -2214,7 +2216,7 @@ OU ((yyvsp[-5].measure)) + OU((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2218 "parse_y.c" /* yacc.c:1652 */ +#line 2220 "parse_y.c" /* yacc.c:1652 */ break; case 69: @@ -2224,7 +2226,7 @@ OU((yyvsp[-4].measure)) + 2*PCB_MASKFRAME, OU ((yyvsp[-3].measure)), (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2228 "parse_y.c" /* yacc.c:1652 */ +#line 2230 "parse_y.c" /* yacc.c:1652 */ break; case 70: @@ -2241,7 +2243,7 @@ OU((yyvsp[-3].measure)) + 2*PCB_MASKFRAME, hole, (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2245 "parse_y.c" /* yacc.c:1652 */ +#line 2247 "parse_y.c" /* yacc.c:1652 */ break; case 71: @@ -2250,7 +2252,7 @@ pcb_rat_new(yyData, -1, NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), NU ((yyvsp[-4].measure)), NU ((yyvsp[-3].measure)), (yyvsp[-5].integer), (yyvsp[-2].integer), conf_core.appearance.rat_thickness, (yyvsp[-1].flagtype), NULL, NULL); } -#line 2254 "parse_y.c" /* yacc.c:1652 */ +#line 2256 "parse_y.c" /* yacc.c:1652 */ break; case 72: @@ -2259,7 +2261,7 @@ pcb_rat_new(yyData, -1, OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), (yyvsp[-5].integer), (yyvsp[-2].integer), conf_core.appearance.rat_thickness, pcb_flag_old((yyvsp[-1].integer)), NULL, NULL); } -#line 2263 "parse_y.c" /* yacc.c:1652 */ +#line 2265 "parse_y.c" /* yacc.c:1652 */ break; case 73: @@ -2290,7 +2292,7 @@ if ((yyvsp[-2].string) != NULL) free((yyvsp[-2].string)); } -#line 2294 "parse_y.c" /* yacc.c:1652 */ +#line 2296 "parse_y.c" /* yacc.c:1652 */ break; case 85: @@ -2299,13 +2301,13 @@ pcb_poly_new_from_rectangle(Layer, OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-5].measure)) + OU ((yyvsp[-3].measure)), OU ((yyvsp[-4].measure)) + OU ((yyvsp[-2].measure)), 0, pcb_flag_old((yyvsp[-1].integer))); } -#line 2303 "parse_y.c" /* yacc.c:1652 */ +#line 2305 "parse_y.c" /* yacc.c:1652 */ break; case 89: #line 652 "parse_y.y" /* yacc.c:1652 */ { attr_list = & Layer->Attributes; } -#line 2309 "parse_y.c" /* yacc.c:1652 */ +#line 2311 "parse_y.c" /* yacc.c:1652 */ break; case 92: @@ -2314,7 +2316,7 @@ pcb_line_new(Layer, NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), NU ((yyvsp[-3].measure)), NU ((yyvsp[-2].measure)), (yyvsp[-1].flagtype)); } -#line 2318 "parse_y.c" /* yacc.c:1652 */ +#line 2320 "parse_y.c" /* yacc.c:1652 */ break; case 93: @@ -2323,7 +2325,7 @@ pcb_line_new(Layer, OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), OU ((yyvsp[-2].measure)), pcb_flag_old((yyvsp[-1].integer))); } -#line 2327 "parse_y.c" /* yacc.c:1652 */ +#line 2329 "parse_y.c" /* yacc.c:1652 */ break; case 94: @@ -2334,7 +2336,7 @@ pcb_line_new(Layer, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), OU ((yyvsp[-2].measure)), 200*PCB_GROUNDPLANEFRAME, pcb_flag_old(IV ((yyvsp[-1].measure)))); } -#line 2338 "parse_y.c" /* yacc.c:1652 */ +#line 2340 "parse_y.c" /* yacc.c:1652 */ break; case 95: @@ -2343,7 +2345,7 @@ pcb_arc_new(Layer, NU ((yyvsp[-9].measure)), NU ((yyvsp[-8].measure)), NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), (yyvsp[-3].number), (yyvsp[-2].number), NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), (yyvsp[-1].flagtype), rnd_true); } -#line 2347 "parse_y.c" /* yacc.c:1652 */ +#line 2349 "parse_y.c" /* yacc.c:1652 */ break; case 96: @@ -2352,7 +2354,7 @@ pcb_arc_new(Layer, OU ((yyvsp[-9].measure)), OU ((yyvsp[-8].measure)), OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), (yyvsp[-3].number), (yyvsp[-2].number), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), pcb_flag_old((yyvsp[-1].integer)), rnd_true); } -#line 2356 "parse_y.c" /* yacc.c:1652 */ +#line 2358 "parse_y.c" /* yacc.c:1652 */ break; case 97: @@ -2361,7 +2363,7 @@ pcb_arc_new(Layer, OU ((yyvsp[-8].measure)), OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-6].measure)), IV ((yyvsp[-3].measure)), (yyvsp[-2].number), OU ((yyvsp[-4].measure)), 200*PCB_GROUNDPLANEFRAME, pcb_flag_old((yyvsp[-1].integer)), rnd_true); } -#line 2365 "parse_y.c" /* yacc.c:1652 */ +#line 2367 "parse_y.c" /* yacc.c:1652 */ break; case 98: @@ -2371,7 +2373,7 @@ pcb_text_new(Layer,yyFont,OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), (yyvsp[-3].number) * 90.0, 100, 0, (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2375 "parse_y.c" /* yacc.c:1652 */ +#line 2377 "parse_y.c" /* yacc.c:1652 */ break; case 99: @@ -2390,7 +2392,7 @@ pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2394 "parse_y.c" /* yacc.c:1652 */ +#line 2396 "parse_y.c" /* yacc.c:1652 */ break; case 100: @@ -2414,7 +2416,7 @@ pcb_text_new(Layer, yyFont, NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), (yyvsp[-1].flagtype)); free ((yyvsp[-2].string)); } -#line 2418 "parse_y.c" /* yacc.c:1652 */ +#line 2420 "parse_y.c" /* yacc.c:1652 */ break; case 101: @@ -2422,7 +2424,7 @@ { Polygon = pcb_poly_new(Layer, 0, (yyvsp[-2].flagtype)); } -#line 2426 "parse_y.c" /* yacc.c:1652 */ +#line 2428 "parse_y.c" /* yacc.c:1652 */ break; case 102: @@ -2458,7 +2460,7 @@ rnd_r_insert_entry(Layer->polygon_tree, (rnd_box_t *) Polygon); } } -#line 2462 "parse_y.c" /* yacc.c:1652 */ +#line 2464 "parse_y.c" /* yacc.c:1652 */ break; case 105: @@ -2466,7 +2468,7 @@ { pcb_poly_hole_new(Polygon); } -#line 2470 "parse_y.c" /* yacc.c:1652 */ +#line 2472 "parse_y.c" /* yacc.c:1652 */ break; case 109: @@ -2474,7 +2476,7 @@ { pcb_poly_point_new(Polygon, OU ((yyvsp[-2].measure)), OU ((yyvsp[-1].measure))); } -#line 2478 "parse_y.c" /* yacc.c:1652 */ +#line 2480 "parse_y.c" /* yacc.c:1652 */ break; case 110: @@ -2482,7 +2484,7 @@ { pcb_poly_point_new(Polygon, NU ((yyvsp[-2].measure)), NU ((yyvsp[-1].measure))); } -#line 2486 "parse_y.c" /* yacc.c:1652 */ +#line 2488 "parse_y.c" /* yacc.c:1652 */ break; case 116: @@ -2494,7 +2496,7 @@ free ((yyvsp[-5].string)); pin_num = 1; } -#line 2498 "parse_y.c" /* yacc.c:1652 */ +#line 2500 "parse_y.c" /* yacc.c:1652 */ break; case 117: @@ -2502,7 +2504,7 @@ { io_pcb_element_fin(yyData); } -#line 2506 "parse_y.c" /* yacc.c:1652 */ +#line 2508 "parse_y.c" /* yacc.c:1652 */ break; case 118: @@ -2514,7 +2516,7 @@ free ((yyvsp[-7].string)); pin_num = 1; } -#line 2518 "parse_y.c" /* yacc.c:1652 */ +#line 2520 "parse_y.c" /* yacc.c:1652 */ break; case 119: @@ -2522,7 +2524,7 @@ { io_pcb_element_fin(yyData); } -#line 2526 "parse_y.c" /* yacc.c:1652 */ +#line 2528 "parse_y.c" /* yacc.c:1652 */ break; case 120: @@ -2535,7 +2537,7 @@ free ((yyvsp[-7].string)); pin_num = 1; } -#line 2539 "parse_y.c" /* yacc.c:1652 */ +#line 2541 "parse_y.c" /* yacc.c:1652 */ break; case 121: @@ -2543,7 +2545,7 @@ { io_pcb_element_fin(yyData); } -#line 2547 "parse_y.c" /* yacc.c:1652 */ +#line 2549 "parse_y.c" /* yacc.c:1652 */ break; case 122: @@ -2558,7 +2560,7 @@ free ((yyvsp[-10].string)); free ((yyvsp[-9].string)); } -#line 2562 "parse_y.c" /* yacc.c:1652 */ +#line 2564 "parse_y.c" /* yacc.c:1652 */ break; case 123: @@ -2566,7 +2568,7 @@ { io_pcb_element_fin(yyData); } -#line 2570 "parse_y.c" /* yacc.c:1652 */ +#line 2572 "parse_y.c" /* yacc.c:1652 */ break; case 124: @@ -2581,7 +2583,7 @@ free ((yyvsp[-10].string)); free ((yyvsp[-9].string)); } -#line 2585 "parse_y.c" /* yacc.c:1652 */ +#line 2587 "parse_y.c" /* yacc.c:1652 */ break; case 125: @@ -2595,7 +2597,7 @@ io_pcb_element_fin(yyData); } } -#line 2599 "parse_y.c" /* yacc.c:1652 */ +#line 2601 "parse_y.c" /* yacc.c:1652 */ break; case 133: @@ -2603,7 +2605,7 @@ { io_pcb_element_line_new(yysubc, NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), NU ((yyvsp[-3].measure)), NU ((yyvsp[-2].measure)), NU ((yyvsp[-1].measure))); } -#line 2607 "parse_y.c" /* yacc.c:1652 */ +#line 2609 "parse_y.c" /* yacc.c:1652 */ break; case 134: @@ -2611,7 +2613,7 @@ { io_pcb_element_line_new(yysubc, OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), OU ((yyvsp[-2].measure)), OU ((yyvsp[-1].measure))); } -#line 2615 "parse_y.c" /* yacc.c:1652 */ +#line 2617 "parse_y.c" /* yacc.c:1652 */ break; case 135: @@ -2619,7 +2621,7 @@ { io_pcb_element_arc_new(yysubc, NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), (yyvsp[-3].number), (yyvsp[-2].number), NU ((yyvsp[-1].measure))); } -#line 2623 "parse_y.c" /* yacc.c:1652 */ +#line 2625 "parse_y.c" /* yacc.c:1652 */ break; case 136: @@ -2627,7 +2629,7 @@ { io_pcb_element_arc_new(yysubc, OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), (yyvsp[-3].number), (yyvsp[-2].number), OU ((yyvsp[-1].measure))); } -#line 2631 "parse_y.c" /* yacc.c:1652 */ +#line 2633 "parse_y.c" /* yacc.c:1652 */ break; case 137: @@ -2636,7 +2638,7 @@ yysubc_ox = NU ((yyvsp[-2].measure)); yysubc_oy = NU ((yyvsp[-1].measure)); } -#line 2640 "parse_y.c" /* yacc.c:1652 */ +#line 2642 "parse_y.c" /* yacc.c:1652 */ break; case 138: @@ -2645,61 +2647,61 @@ yysubc_ox = OU ((yyvsp[-2].measure)); yysubc_oy = OU ((yyvsp[-1].measure)); } -#line 2649 "parse_y.c" /* yacc.c:1652 */ +#line 2651 "parse_y.c" /* yacc.c:1652 */ break; case 139: #line 989 "parse_y.y" /* yacc.c:1652 */ { attr_list = & yysubc->Attributes; } -#line 2655 "parse_y.c" /* yacc.c:1652 */ +#line 2657 "parse_y.c" /* yacc.c:1652 */ break; - case 147: -#line 1004 "parse_y.y" /* yacc.c:1652 */ + case 148: +#line 1005 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_line_new(yysubc, NU ((yyvsp[-5].measure)) + yysubc_ox, NU ((yyvsp[-4].measure)) + yysubc_oy, NU ((yyvsp[-3].measure)) + yysubc_ox, NU ((yyvsp[-2].measure)) + yysubc_oy, NU ((yyvsp[-1].measure))); } -#line 2665 "parse_y.c" /* yacc.c:1652 */ +#line 2667 "parse_y.c" /* yacc.c:1652 */ break; - case 148: -#line 1010 "parse_y.y" /* yacc.c:1652 */ + case 149: +#line 1011 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_line_new(yysubc, OU ((yyvsp[-5].measure)) + yysubc_ox, OU ((yyvsp[-4].measure)) + yysubc_oy, OU ((yyvsp[-3].measure)) + yysubc_ox, OU ((yyvsp[-2].measure)) + yysubc_oy, OU ((yyvsp[-1].measure))); } -#line 2675 "parse_y.c" /* yacc.c:1652 */ +#line 2677 "parse_y.c" /* yacc.c:1652 */ break; - case 149: -#line 1017 "parse_y.y" /* yacc.c:1652 */ + case 150: +#line 1018 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_arc_new(yysubc, NU ((yyvsp[-7].measure)) + yysubc_ox, NU ((yyvsp[-6].measure)) + yysubc_oy, NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), (yyvsp[-3].number), (yyvsp[-2].number), NU ((yyvsp[-1].measure))); } -#line 2684 "parse_y.c" /* yacc.c:1652 */ +#line 2686 "parse_y.c" /* yacc.c:1652 */ break; - case 150: -#line 1022 "parse_y.y" /* yacc.c:1652 */ + case 151: +#line 1023 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_arc_new(yysubc, OU ((yyvsp[-7].measure)) + yysubc_ox, OU ((yyvsp[-6].measure)) + yysubc_oy, OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), (yyvsp[-3].number), (yyvsp[-2].number), OU ((yyvsp[-1].measure))); } -#line 2693 "parse_y.c" /* yacc.c:1652 */ +#line 2695 "parse_y.c" /* yacc.c:1652 */ break; - case 151: -#line 1026 "parse_y.y" /* yacc.c:1652 */ + case 152: +#line 1027 "parse_y.y" /* yacc.c:1652 */ { attr_list = & yysubc->Attributes; } -#line 2699 "parse_y.c" /* yacc.c:1652 */ +#line 2701 "parse_y.c" /* yacc.c:1652 */ break; - case 153: -#line 1033 "parse_y.y" /* yacc.c:1652 */ + case 154: +#line 1034 "parse_y.y" /* yacc.c:1652 */ { pcb_pstk_t *pin = io_pcb_element_pin_new(yysubc, NU ((yyvsp[-9].measure)) + yysubc_ox, NU ((yyvsp[-8].measure)) + yysubc_oy, NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), (yyvsp[-3].string), @@ -2708,11 +2710,11 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2712 "parse_y.c" /* yacc.c:1652 */ +#line 2714 "parse_y.c" /* yacc.c:1652 */ break; - case 154: -#line 1046 "parse_y.y" /* yacc.c:1652 */ + case 155: +#line 1047 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_pin_new(yysubc, OU ((yyvsp[-9].measure)) + yysubc_ox, OU ((yyvsp[-8].measure)) + yysubc_oy, OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), (yyvsp[-3].string), @@ -2720,11 +2722,11 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2724 "parse_y.c" /* yacc.c:1652 */ +#line 2726 "parse_y.c" /* yacc.c:1652 */ break; - case 155: -#line 1058 "parse_y.y" /* yacc.c:1652 */ + case 156: +#line 1059 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_pin_new(yysubc, OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), 2*PCB_GROUNDPLANEFRAME, OU ((yyvsp[-5].measure)) + 2*PCB_MASKFRAME, OU ((yyvsp[-4].measure)), (yyvsp[-3].string), (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); @@ -2731,11 +2733,11 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2735 "parse_y.c" /* yacc.c:1652 */ +#line 2737 "parse_y.c" /* yacc.c:1652 */ break; - case 156: -#line 1069 "parse_y.y" /* yacc.c:1652 */ + case 157: +#line 1070 "parse_y.y" /* yacc.c:1652 */ { char p_number[8]; @@ -2745,11 +2747,11 @@ free ((yyvsp[-2].string)); } -#line 2749 "parse_y.c" /* yacc.c:1652 */ +#line 2751 "parse_y.c" /* yacc.c:1652 */ break; - case 157: -#line 1085 "parse_y.y" /* yacc.c:1652 */ + case 158: +#line 1086 "parse_y.y" /* yacc.c:1652 */ { rnd_coord_t hole = OU ((yyvsp[-3].measure)) * PCB_DEFAULT_DRILLINGHOLE; char p_number[8]; @@ -2764,11 +2766,11 @@ OU ((yyvsp[-3].measure)) + 2*PCB_MASKFRAME, hole, (yyvsp[-2].string), p_number, pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2768 "parse_y.c" /* yacc.c:1652 */ +#line 2770 "parse_y.c" /* yacc.c:1652 */ break; - case 158: -#line 1104 "parse_y.y" /* yacc.c:1652 */ + case 159: +#line 1105 "parse_y.y" /* yacc.c:1652 */ { pcb_pstk_t *pad = io_pcb_element_pad_new(yysubc, NU ((yyvsp[-10].measure)) + yysubc_ox, NU ((yyvsp[-9].measure)) + yysubc_oy, @@ -2779,11 +2781,11 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2783 "parse_y.c" /* yacc.c:1652 */ +#line 2785 "parse_y.c" /* yacc.c:1652 */ break; - case 159: -#line 1119 "parse_y.y" /* yacc.c:1652 */ + case 160: +#line 1120 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_pad_new(yysubc,OU ((yyvsp[-10].measure)) + yysubc_ox, OU ((yyvsp[-9].measure)) + yysubc_oy, OU ((yyvsp[-8].measure)) + yysubc_ox, @@ -2792,22 +2794,46 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2796 "parse_y.c" /* yacc.c:1652 */ +#line 2798 "parse_y.c" /* yacc.c:1652 */ break; - case 160: -#line 1132 "parse_y.y" /* yacc.c:1652 */ + case 161: +#line 1133 "parse_y.y" /* yacc.c:1652 */ { + rnd_coord_t cx = OU((yyvsp[-9].measure)), cy = OU((yyvsp[-8].measure)), sx = OU((yyvsp[-7].measure)), sy = OU((yyvsp[-6].measure)); + rnd_coord_t x1, y1, x2, y2; + double ox, oy, thick; + + thick = (sx > sy) ? sx : sy; + ox = (sx > sy) ? ((sx - sy) / 2.0) : 0; + oy = (sx > sy) ? 0 : ((sx - sy) / 2.0); + + x1 = rnd_round(cx - ox); y1 = rnd_round(cy - oy); + x2 = rnd_round(cx + ox); y2 = rnd_round(cy + oy); + + io_pcb_element_pad_new(yysubc, + x1 + yysubc_ox, y1 + yysubc_oy, + x2 + yysubc_ox, y2 + yysubc_oy, + OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), + (yyvsp[-3].string), (yyvsp[-2].string), (yyvsp[-1].flagtype)); + free ((yyvsp[-2].string)); + } +#line 2822 "parse_y.c" /* yacc.c:1652 */ + break; + + case 162: +#line 1157 "parse_y.y" /* yacc.c:1652 */ + { io_pcb_element_pad_new(yysubc,OU ((yyvsp[-8].measure)),OU ((yyvsp[-7].measure)),OU ((yyvsp[-6].measure)),OU ((yyvsp[-5].measure)),OU ((yyvsp[-4].measure)), 2*PCB_GROUNDPLANEFRAME, OU ((yyvsp[-4].measure)) + 2*PCB_MASKFRAME, (yyvsp[-3].string), (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2807 "parse_y.c" /* yacc.c:1652 */ +#line 2833 "parse_y.c" /* yacc.c:1652 */ break; - case 161: -#line 1143 "parse_y.y" /* yacc.c:1652 */ + case 163: +#line 1168 "parse_y.y" /* yacc.c:1652 */ { char p_number[8]; @@ -2816,23 +2842,23 @@ OU ((yyvsp[-3].measure)) + 2*PCB_MASKFRAME, (yyvsp[-2].string),p_number, pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2820 "parse_y.c" /* yacc.c:1652 */ +#line 2846 "parse_y.c" /* yacc.c:1652 */ break; - case 162: -#line 1153 "parse_y.y" /* yacc.c:1652 */ + case 164: +#line 1178 "parse_y.y" /* yacc.c:1652 */ { (yyval.flagtype) = pcb_flag_old((yyvsp[0].integer)); } -#line 2826 "parse_y.c" /* yacc.c:1652 */ +#line 2852 "parse_y.c" /* yacc.c:1652 */ break; - case 163: -#line 1154 "parse_y.y" /* yacc.c:1652 */ + case 165: +#line 1179 "parse_y.y" /* yacc.c:1652 */ { (yyval.flagtype) = pcb_strflg_s2f((yyvsp[0].string), yyerror, &yy_intconn, 1); free((yyvsp[0].string)); } -#line 2832 "parse_y.c" /* yacc.c:1652 */ +#line 2858 "parse_y.c" /* yacc.c:1652 */ break; - case 167: -#line 1165 "parse_y.y" /* yacc.c:1652 */ + case 169: +#line 1190 "parse_y.y" /* yacc.c:1652 */ { if ((yyvsp[-3].integer) <= 0 || (yyvsp[-3].integer) > PCB_MAX_FONTPOSITION) { @@ -2848,11 +2874,11 @@ Symbol->Valid = rnd_true; Symbol->Delta = NU ((yyvsp[-2].measure)); } -#line 2852 "parse_y.c" /* yacc.c:1652 */ +#line 2878 "parse_y.c" /* yacc.c:1652 */ break; - case 168: -#line 1181 "parse_y.y" /* yacc.c:1652 */ + case 170: +#line 1206 "parse_y.y" /* yacc.c:1652 */ { if ((yyvsp[-3].integer) <= 0 || (yyvsp[-3].integer) > PCB_MAX_FONTPOSITION) { @@ -2868,27 +2894,27 @@ Symbol->Valid = rnd_true; Symbol->Delta = OU ((yyvsp[-2].measure)); } -#line 2872 "parse_y.c" /* yacc.c:1652 */ +#line 2898 "parse_y.c" /* yacc.c:1652 */ break; - case 174: -#line 1212 "parse_y.y" /* yacc.c:1652 */ + case 176: +#line 1237 "parse_y.y" /* yacc.c:1652 */ { pcb_font_new_line_in_sym(Symbol, OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), OU ((yyvsp[-2].measure)), OU ((yyvsp[-1].measure))); } -#line 2880 "parse_y.c" /* yacc.c:1652 */ +#line 2906 "parse_y.c" /* yacc.c:1652 */ break; - case 175: -#line 1219 "parse_y.y" /* yacc.c:1652 */ + case 177: +#line 1244 "parse_y.y" /* yacc.c:1652 */ { pcb_font_new_line_in_sym(Symbol, NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), NU ((yyvsp[-3].measure)), NU ((yyvsp[-2].measure)), NU ((yyvsp[-1].measure))); } -#line 2888 "parse_y.c" /* yacc.c:1652 */ +#line 2914 "parse_y.c" /* yacc.c:1652 */ break; - case 183: -#line 1246 "parse_y.y" /* yacc.c:1652 */ + case 185: +#line 1271 "parse_y.y" /* yacc.c:1652 */ { currnet = pcb_net_get(yyPCB, &yyPCB->netlist[PCB_NETLIST_INPUT], (yyvsp[-3].string), PCB_NETA_ALLOC); if (((yyvsp[-2].string) != NULL) && (*(yyvsp[-2].string) != '\0')) @@ -2896,38 +2922,38 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2900 "parse_y.c" /* yacc.c:1652 */ +#line 2926 "parse_y.c" /* yacc.c:1652 */ break; - case 189: -#line 1268 "parse_y.y" /* yacc.c:1652 */ + case 191: +#line 1293 "parse_y.y" /* yacc.c:1652 */ { pcb_net_term_get_by_pinname(currnet, (yyvsp[-1].string), 1); free ((yyvsp[-1].string)); } -#line 2909 "parse_y.c" /* yacc.c:1652 */ +#line 2935 "parse_y.c" /* yacc.c:1652 */ break; - case 197: -#line 1315 "parse_y.y" /* yacc.c:1652 */ + case 199: +#line 1340 "parse_y.y" /* yacc.c:1652 */ { pcb_ratspatch_append(yyPCB, RATP_ADD_CONN, (yyvsp[-2].string), (yyvsp[-1].string), NULL, 0); free((yyvsp[-2].string)); free((yyvsp[-1].string)); } -#line 2915 "parse_y.c" /* yacc.c:1652 */ +#line 2941 "parse_y.c" /* yacc.c:1652 */ break; - case 198: -#line 1316 "parse_y.y" /* yacc.c:1652 */ + case 200: +#line 1341 "parse_y.y" /* yacc.c:1652 */ { pcb_ratspatch_append(yyPCB, RATP_DEL_CONN, (yyvsp[-2].string), (yyvsp[-1].string), NULL, 0); free((yyvsp[-2].string)); free((yyvsp[-1].string)); } -#line 2921 "parse_y.c" /* yacc.c:1652 */ +#line 2947 "parse_y.c" /* yacc.c:1652 */ break; - case 199: -#line 1317 "parse_y.y" /* yacc.c:1652 */ + case 201: +#line 1342 "parse_y.y" /* yacc.c:1652 */ { pcb_ratspatch_append(yyPCB, RATP_CHANGE_ATTRIB, (yyvsp[-3].string), (yyvsp[-2].string), (yyvsp[-1].string), 0); free((yyvsp[-3].string)); free((yyvsp[-2].string)); free((yyvsp[-1].string)); } -#line 2927 "parse_y.c" /* yacc.c:1652 */ +#line 2953 "parse_y.c" /* yacc.c:1652 */ break; - case 200: -#line 1322 "parse_y.y" /* yacc.c:1652 */ + case 202: +#line 1347 "parse_y.y" /* yacc.c:1652 */ { char *old_val, *key = (yyvsp[-2].string), *val = (yyvsp[-1].string) ? (yyvsp[-1].string) : (char *)""; old_val = pcb_attribute_get(attr_list, key); @@ -2938,95 +2964,95 @@ free(key); if ((yyvsp[-1].string) != NULL) free(val); } -#line 2942 "parse_y.c" /* yacc.c:1652 */ +#line 2968 "parse_y.c" /* yacc.c:1652 */ break; - case 201: -#line 1334 "parse_y.y" /* yacc.c:1652 */ + case 203: +#line 1359 "parse_y.y" /* yacc.c:1652 */ { (yyval.string) = (yyvsp[0].string); } -#line 2948 "parse_y.c" /* yacc.c:1652 */ +#line 2974 "parse_y.c" /* yacc.c:1652 */ break; - case 202: -#line 1335 "parse_y.y" /* yacc.c:1652 */ + case 204: +#line 1360 "parse_y.y" /* yacc.c:1652 */ { (yyval.string) = 0; } -#line 2954 "parse_y.c" /* yacc.c:1652 */ +#line 2980 "parse_y.c" /* yacc.c:1652 */ break; - case 203: -#line 1339 "parse_y.y" /* yacc.c:1652 */ + case 205: +#line 1364 "parse_y.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[0].number); } -#line 2960 "parse_y.c" /* yacc.c:1652 */ +#line 2986 "parse_y.c" /* yacc.c:1652 */ break; - case 204: -#line 1340 "parse_y.y" /* yacc.c:1652 */ + case 206: +#line 1365 "parse_y.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[0].integer); } -#line 2966 "parse_y.c" /* yacc.c:1652 */ +#line 2992 "parse_y.c" /* yacc.c:1652 */ break; - case 205: -#line 1345 "parse_y.y" /* yacc.c:1652 */ + case 207: +#line 1370 "parse_y.y" /* yacc.c:1652 */ { do_measure(&(yyval.measure), (yyvsp[0].number), RND_MIL_TO_COORD ((yyvsp[0].number)) / 100.0, 0); } -#line 2972 "parse_y.c" /* yacc.c:1652 */ +#line 2998 "parse_y.c" /* yacc.c:1652 */ break; - case 206: -#line 1346 "parse_y.y" /* yacc.c:1652 */ + case 208: +#line 1371 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MIL_TO_COORD ((yyvsp[-1].number)) / 100000.0); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 2978 "parse_y.c" /* yacc.c:1652 */ +#line 3004 "parse_y.c" /* yacc.c:1652 */ break; - case 207: -#line 1347 "parse_y.y" /* yacc.c:1652 */ + case 209: +#line 1372 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MIL_TO_COORD ((yyvsp[-1].number)) / 100.0); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 2984 "parse_y.c" /* yacc.c:1652 */ +#line 3010 "parse_y.c" /* yacc.c:1652 */ break; - case 208: -#line 1348 "parse_y.y" /* yacc.c:1652 */ + case 210: +#line 1373 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MIL_TO_COORD ((yyvsp[-1].number))); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 2990 "parse_y.c" /* yacc.c:1652 */ +#line 3016 "parse_y.c" /* yacc.c:1652 */ break; - case 209: -#line 1349 "parse_y.y" /* yacc.c:1652 */ + case 211: +#line 1374 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_INCH_TO_COORD ((yyvsp[-1].number))); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 2996 "parse_y.c" /* yacc.c:1652 */ +#line 3022 "parse_y.c" /* yacc.c:1652 */ break; - case 210: -#line 1350 "parse_y.y" /* yacc.c:1652 */ + case 212: +#line 1375 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MM_TO_COORD ((yyvsp[-1].number)) / 1000000.0); pcb_io_pcb_usty_seen |= PCB_USTY_NANOMETER; } -#line 3002 "parse_y.c" /* yacc.c:1652 */ +#line 3028 "parse_y.c" /* yacc.c:1652 */ break; - case 211: -#line 1351 "parse_y.y" /* yacc.c:1652 */ + case 213: +#line 1376 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MM_TO_COORD ((yyvsp[-1].number)) / 1000.0); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3008 "parse_y.c" /* yacc.c:1652 */ +#line 3034 "parse_y.c" /* yacc.c:1652 */ break; - case 212: -#line 1352 "parse_y.y" /* yacc.c:1652 */ + case 214: +#line 1377 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MM_TO_COORD ((yyvsp[-1].number))); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3014 "parse_y.c" /* yacc.c:1652 */ +#line 3040 "parse_y.c" /* yacc.c:1652 */ break; - case 213: -#line 1353 "parse_y.y" /* yacc.c:1652 */ + case 215: +#line 1378 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MM_TO_COORD ((yyvsp[-1].number)) * 1000.0); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3020 "parse_y.c" /* yacc.c:1652 */ +#line 3046 "parse_y.c" /* yacc.c:1652 */ break; - case 214: -#line 1354 "parse_y.y" /* yacc.c:1652 */ + case 216: +#line 1379 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MM_TO_COORD ((yyvsp[-1].number)) * 1000000.0); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3026 "parse_y.c" /* yacc.c:1652 */ +#line 3052 "parse_y.c" /* yacc.c:1652 */ break; -#line 3030 "parse_y.c" /* yacc.c:1652 */ +#line 3056 "parse_y.c" /* yacc.c:1652 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -3257,7 +3283,7 @@ #endif return yyresult; } -#line 1357 "parse_y.y" /* yacc.c:1918 */ +#line 1382 "parse_y.y" /* yacc.c:1918 */ /* --------------------------------------------------------------------------- Index: parse_y.y =================================================================== --- parse_y.y (revision 34233) +++ parse_y.y (revision 34234) @@ -998,6 +998,7 @@ : pin_1.7_format | pin_hi_format | pad_1.7_format + | pad_4.3_format | pad_hi_format /* x1, y1, x2, y2, thickness */ | T_ELEMENTLINE '[' measure measure measure measure measure ']' @@ -1126,6 +1127,30 @@ } ; +pad_4.3_format + /* cx, cy, sx, sy, clearance, mask, name , pad number, flags */ + : T_PAD '[' measure measure measure measure measure measure STRING STRING flags ']' + { + rnd_coord_t cx = OU($3), cy = OU($4), sx = OU($5), sy = OU($6); + rnd_coord_t x1, y1, x2, y2; + double ox, oy, thick; + + thick = (sx > sy) ? sx : sy; + ox = (sx > sy) ? ((sx - sy) / 2.0) : 0; + oy = (sx > sy) ? 0 : ((sx - sy) / 2.0); + + x1 = rnd_round(cx - ox); y1 = rnd_round(cy - oy); + x2 = rnd_round(cx + ox); y2 = rnd_round(cy + oy); + + io_pcb_element_pad_new(yysubc, + x1 + yysubc_ox, y1 + yysubc_oy, + x2 + yysubc_ox, y2 + yysubc_oy, + OU ($6), OU ($7), OU ($8), + $9, $10, $11); + free ($10); + } + ; + pad_newformat /* x1, y1, x2, y2, thickness, name , pad number, flags */ : T_PAD '(' measure measure measure measure measure STRING STRING INTEGER ')'