diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-08-07 20:08:18 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-08-07 20:08:18 (GMT) |
commit | 4363a0bde2b18cd0391aabaeb925b434b858d18e (patch) | |
tree | 778ac7593b5e4b074f545df438513a440b597019 /tksao/frame/ds9parser.C | |
parent | 2dd23db7bd3901b523e01ca5e30693cbab0c9752 (diff) | |
download | blt-4363a0bde2b18cd0391aabaeb925b434b858d18e.zip blt-4363a0bde2b18cd0391aabaeb925b434b858d18e.tar.gz blt-4363a0bde2b18cd0391aabaeb925b434b858d18e.tar.bz2 |
ruler format spec
Diffstat (limited to 'tksao/frame/ds9parser.C')
-rw-r--r-- | tksao/frame/ds9parser.C | 656 |
1 files changed, 338 insertions, 318 deletions
diff --git a/tksao/frame/ds9parser.C b/tksao/frame/ds9parser.C index 255fd02..9009f16 100644 --- a/tksao/frame/ds9parser.C +++ b/tksao/frame/ds9parser.C @@ -419,6 +419,8 @@ static Coord::CoordSystem globalRulerDistSystem; static Coord::CoordSystem localRulerDistSystem; static Coord::DistFormat globalRulerDistFormat; static Coord::DistFormat localRulerDistFormat; +static char globalRulerDistSpec[32]; +static char localRulerDistSpec[32]; static Coord::CoordSystem globalCompassCoordSystem; static Coord::SkyFrame globalCompassSkyFrame; @@ -484,7 +486,7 @@ static Coord::SkyFrame checkWCSSky(); #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 139 "frame/ds9parser.Y" +#line 141 "frame/ds9parser.Y" { #define MKBUFSIZE 2048 double real; @@ -493,7 +495,7 @@ typedef union YYSTYPE double vector[3]; } /* Line 193 of yacc.c. */ -#line 497 "frame/ds9parser.C" +#line 499 "frame/ds9parser.C" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -506,7 +508,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 510 "frame/ds9parser.C" +#line 512 "frame/ds9parser.C" #ifdef short # undef short @@ -962,39 +964,39 @@ static const yytype_int16 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 300, 300, 303, 304, 307, 308, 309, 311, 312, - 314, 314, 315, 315, 316, 316, 318, 319, 320, 323, - 324, 325, 326, 326, 329, 330, 330, 333, 334, 334, - 335, 336, 336, 339, 340, 340, 341, 342, 342, 345, - 346, 347, 350, 351, 354, 355, 358, 360, 361, 362, - 363, 365, 366, 367, 368, 371, 372, 375, 376, 379, - 380, 383, 384, 385, 388, 389, 392, 393, 394, 397, - 398, 399, 400, 401, 402, 405, 412, 419, 426, 433, - 440, 449, 452, 455, 458, 461, 474, 482, 490, 497, - 505, 512, 520, 521, 522, 523, 524, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 554, 557, 558, 559, 560, 561, - 562, 563, 564, 565, 566, 569, 570, 571, 574, 575, - 576, 577, 578, 579, 580, 581, 582, 583, 586, 587, - 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 609, - 610, 613, 618, 623, 628, 629, 634, 639, 644, 649, - 654, 655, 660, 664, 669, 670, 674, 675, 684, 685, - 686, 689, 696, 703, 710, 717, 724, 731, 738, 745, - 754, 759, 764, 769, 776, 819, 820, 823, 824, 825, - 830, 831, 832, 833, 834, 836, 837, 838, 840, 841, - 842, 843, 844, 845, 846, 847, 854, 855, 856, 857, - 858, 861, 868, 875, 882, 889, 896, 903, 910, 917, - 926, 931, 936, 941, 948, 948, 949, 952, 952, 954, - 957, 957, 959, 962, 1012, 1013, 1014, 1015, 1016, 1017, - 1018, 1021, 1022, 1025, 1033, 1033, 1040, 1047, 1056, 1066, - 1074, 1082, 1091, 1098, 1106, 1129, 1152, 1161, 1161, 1168, - 1168, 1176, 1184, 1192, 1199, 1199, 1207, 1214, 1221, 1228, - 1235, 1242, 1249, 1256, 1263, 1272, 1282, 1290, 1297, 1307, - 1315, 1325, 1335, 1347, 1355, 1365, 1377, 1387, 1396, 1418, - 1442, 1467, 1468, 1469, 1471, 1473, 1482, 1483, 1486, 1489, - 1490, 1493, 1500, 1501, 1504, 1511, 1512, 1515, 1519 + 0, 302, 302, 305, 306, 309, 310, 311, 313, 314, + 316, 316, 317, 317, 318, 318, 320, 321, 322, 325, + 326, 327, 328, 328, 331, 332, 332, 335, 336, 336, + 337, 338, 338, 341, 342, 342, 343, 344, 344, 347, + 348, 349, 352, 353, 356, 357, 360, 362, 363, 364, + 365, 367, 368, 369, 370, 373, 374, 377, 378, 381, + 382, 385, 386, 387, 390, 391, 394, 395, 396, 399, + 400, 401, 402, 403, 404, 407, 414, 421, 428, 435, + 442, 451, 454, 457, 460, 463, 476, 484, 492, 499, + 507, 514, 522, 523, 524, 525, 526, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 559, 560, 561, 562, 563, + 564, 565, 566, 567, 568, 571, 572, 573, 576, 577, + 578, 579, 580, 581, 582, 583, 584, 585, 588, 589, + 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 611, + 612, 615, 620, 625, 630, 631, 636, 641, 646, 651, + 656, 657, 662, 666, 671, 672, 676, 677, 686, 687, + 688, 691, 699, 707, 715, 723, 731, 739, 747, 754, + 764, 769, 774, 779, 786, 830, 831, 834, 835, 836, + 841, 842, 843, 844, 845, 847, 848, 849, 851, 852, + 853, 854, 855, 856, 857, 858, 865, 866, 867, 868, + 869, 872, 880, 888, 896, 904, 912, 920, 928, 936, + 946, 951, 956, 961, 968, 968, 969, 972, 972, 974, + 977, 977, 979, 982, 1032, 1033, 1034, 1035, 1036, 1037, + 1038, 1041, 1042, 1045, 1053, 1053, 1060, 1067, 1076, 1086, + 1094, 1102, 1111, 1118, 1126, 1149, 1172, 1181, 1181, 1188, + 1188, 1196, 1204, 1212, 1219, 1219, 1227, 1234, 1241, 1248, + 1255, 1262, 1269, 1276, 1283, 1292, 1302, 1310, 1317, 1327, + 1335, 1345, 1355, 1367, 1375, 1385, 1397, 1407, 1416, 1438, + 1462, 1487, 1488, 1489, 1491, 1493, 1502, 1503, 1506, 1509, + 1510, 1513, 1520, 1521, 1524, 1531, 1532, 1535, 1539 }; #endif @@ -2810,227 +2812,227 @@ yyreduce: switch (yyn) { case 7: -#line 309 "frame/ds9parser.Y" +#line 311 "frame/ds9parser.Y" {cerr << "DS9 Regions File 3.2" << endl;;} break; case 9: -#line 312 "frame/ds9parser.Y" +#line 314 "frame/ds9parser.Y" {globalTile = (yyvsp[(2) - (2)].integer);;} break; case 10: -#line 314 "frame/ds9parser.Y" +#line 316 "frame/ds9parser.Y" {globalSystem=(Coord::CoordSystem)(yyvsp[(1) - (1)].integer);;} break; case 12: -#line 315 "frame/ds9parser.Y" +#line 317 "frame/ds9parser.Y" {globalSystem=globalWCS; globalSky=(Coord::SkyFrame)(yyvsp[(1) - (1)].integer);;} break; case 14: -#line 316 "frame/ds9parser.Y" +#line 318 "frame/ds9parser.Y" {globalSystem=globalWCS; globalSky=Coord::FK5;;} break; case 21: -#line 325 "frame/ds9parser.Y" +#line 327 "frame/ds9parser.Y" {globalTile = (yyvsp[(2) - (2)].integer);;} break; case 22: -#line 326 "frame/ds9parser.Y" +#line 328 "frame/ds9parser.Y" {DISCARD_(1);;} break; case 25: -#line 330 "frame/ds9parser.Y" +#line 332 "frame/ds9parser.Y" {DISCARD_(1);;} break; case 28: -#line 334 "frame/ds9parser.Y" +#line 336 "frame/ds9parser.Y" {DISCARD_(1);;} break; case 29: -#line 334 "frame/ds9parser.Y" +#line 336 "frame/ds9parser.Y" {strncpy(localComment,(yyvsp[(3) - (4)].str),80);;} break; case 31: -#line 336 "frame/ds9parser.Y" +#line 338 "frame/ds9parser.Y" {DISCARD_(1);;} break; case 32: -#line 336 "frame/ds9parser.Y" +#line 338 "frame/ds9parser.Y" {strncpy(localComment,(yyvsp[(4) - (5)].str),80);;} break; case 34: -#line 340 "frame/ds9parser.Y" +#line 342 "frame/ds9parser.Y" {DISCARD_(1);;} break; case 35: -#line 340 "frame/ds9parser.Y" +#line 342 "frame/ds9parser.Y" {strncpy(localComment,(yyvsp[(2) - (3)].str),80);;} break; case 37: -#line 342 "frame/ds9parser.Y" +#line 344 "frame/ds9parser.Y" {DISCARD_(1);;} break; case 38: -#line 342 "frame/ds9parser.Y" +#line 344 "frame/ds9parser.Y" {strncpy(localComment,(yyvsp[(3) - (4)].str),80);;} break; case 41: -#line 347 "frame/ds9parser.Y" +#line 349 "frame/ds9parser.Y" {YYACCEPT;;} break; case 42: -#line 350 "frame/ds9parser.Y" +#line 352 "frame/ds9parser.Y" {(yyval.real)=(yyvsp[(1) - (1)].real);;} break; case 43: -#line 351 "frame/ds9parser.Y" +#line 353 "frame/ds9parser.Y" {(yyval.real)=(yyvsp[(1) - (1)].integer);;} break; case 44: -#line 354 "frame/ds9parser.Y" +#line 356 "frame/ds9parser.Y" {yydebug=1;;} break; case 45: -#line 355 "frame/ds9parser.Y" +#line 357 "frame/ds9parser.Y" {yydebug=0;;} break; case 46: -#line 358 "frame/ds9parser.Y" +#line 360 "frame/ds9parser.Y" {(yyval.integer)=((yyvsp[(1) - (1)].integer) ? 1 : 0);;} break; case 47: -#line 360 "frame/ds9parser.Y" +#line 362 "frame/ds9parser.Y" {(yyval.integer)=1;;} break; case 48: -#line 361 "frame/ds9parser.Y" +#line 363 "frame/ds9parser.Y" {(yyval.integer)=1;;} break; case 49: -#line 362 "frame/ds9parser.Y" +#line 364 "frame/ds9parser.Y" {(yyval.integer)=1;;} break; case 50: -#line 363 "frame/ds9parser.Y" +#line 365 "frame/ds9parser.Y" {(yyval.integer)=1;;} break; case 51: -#line 365 "frame/ds9parser.Y" +#line 367 "frame/ds9parser.Y" {(yyval.integer)=0;;} break; case 52: -#line 366 "frame/ds9parser.Y" +#line 368 "frame/ds9parser.Y" {(yyval.integer)=0;;} break; case 53: -#line 367 "frame/ds9parser.Y" +#line 369 "frame/ds9parser.Y" {(yyval.integer)=0;;} break; case 54: -#line 368 "frame/ds9parser.Y" +#line 370 "frame/ds9parser.Y" {(yyval.integer)=0;;} break; case 61: -#line 383 "frame/ds9parser.Y" +#line 385 "frame/ds9parser.Y" {cStatus = 0;;} break; case 62: -#line 384 "frame/ds9parser.Y" +#line 386 "frame/ds9parser.Y" {cStatus = 1;;} break; case 63: -#line 385 "frame/ds9parser.Y" +#line 387 "frame/ds9parser.Y" {cStatus = 1;;} break; case 64: -#line 388 "frame/ds9parser.Y" +#line 390 "frame/ds9parser.Y" {(yyval.real) = fr->mapAngleToRef(0,localSystem,localSky);;} break; case 65: -#line 389 "frame/ds9parser.Y" +#line 391 "frame/ds9parser.Y" {(yyval.real) = (yyvsp[(1) - (1)].real);;} break; case 66: -#line 392 "frame/ds9parser.Y" +#line 394 "frame/ds9parser.Y" {(yyval.real) = fr->mapAngleToRef(degToRad((yyvsp[(1) - (1)].real)),localSystem,localSky);;} break; case 67: -#line 393 "frame/ds9parser.Y" +#line 395 "frame/ds9parser.Y" {(yyval.real) = fr->mapAngleToRef(degToRad((yyvsp[(1) - (1)].real)),localSystem,localSky);;} break; case 68: -#line 394 "frame/ds9parser.Y" +#line 396 "frame/ds9parser.Y" {(yyval.real) = fr->mapAngleToRef((yyvsp[(1) - (1)].real),localSystem,localSky);;} break; case 69: -#line 397 "frame/ds9parser.Y" +#line 399 "frame/ds9parser.Y" {(yyval.real) = FITSPTR->mapLenToRef((yyvsp[(1) - (1)].real), localSystem, Coord::DEGREE);;} break; case 70: -#line 398 "frame/ds9parser.Y" +#line 400 "frame/ds9parser.Y" {(yyval.real) = FITSPTR->mapLenToRef((yyvsp[(1) - (1)].real), Coord::PHYSICAL);;} break; case 71: -#line 399 "frame/ds9parser.Y" +#line 401 "frame/ds9parser.Y" {(yyval.real) = FITSPTR->mapLenToRef((yyvsp[(1) - (1)].real), Coord::IMAGE);;} break; case 72: -#line 400 "frame/ds9parser.Y" +#line 402 "frame/ds9parser.Y" {(yyval.real) = FITSPTR->mapLenToRef((yyvsp[(1) - (1)].real), checkWCSSystem(), Coord::DEGREE);;} break; case 73: -#line 401 "frame/ds9parser.Y" +#line 403 "frame/ds9parser.Y" {(yyval.real) = FITSPTR->mapLenToRef((yyvsp[(1) - (1)].real), checkWCSSystem(), Coord::ARCMIN);;} break; case 74: -#line 402 "frame/ds9parser.Y" +#line 404 "frame/ds9parser.Y" {(yyval.real) = FITSPTR->mapLenToRef((yyvsp[(1) - (1)].real), checkWCSSystem(), Coord::ARCSEC);;} break; case 75: -#line 406 "frame/ds9parser.Y" +#line 408 "frame/ds9parser.Y" { Vector r = FITSPTR->mapLenToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)), localSystem, Coord::DEGREE); (yyval.vector)[0] = r[0]; @@ -3040,7 +3042,7 @@ yyreduce: break; case 76: -#line 413 "frame/ds9parser.Y" +#line 415 "frame/ds9parser.Y" { Vector r = FITSPTR->mapLenToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)), Coord::PHYSICAL); (yyval.vector)[0] = r[0]; @@ -3050,7 +3052,7 @@ yyreduce: break; case 77: -#line 420 "frame/ds9parser.Y" +#line 422 "frame/ds9parser.Y" { Vector r = FITSPTR->mapLenToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)), Coord::IMAGE); (yyval.vector)[0] = r[0]; @@ -3060,7 +3062,7 @@ yyreduce: break; case 78: -#line 427 "frame/ds9parser.Y" +#line 429 "frame/ds9parser.Y" { Vector r=FITSPTR->mapLenToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)),checkWCSSystem(),Coord::DEGREE); (yyval.vector)[0] = r[0]; @@ -3070,7 +3072,7 @@ yyreduce: break; case 79: -#line 434 "frame/ds9parser.Y" +#line 436 "frame/ds9parser.Y" { Vector r=FITSPTR->mapLenToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)),checkWCSSystem(),Coord::ARCMIN); (yyval.vector)[0] = r[0]; @@ -3080,7 +3082,7 @@ yyreduce: break; case 80: -#line 441 "frame/ds9parser.Y" +#line 443 "frame/ds9parser.Y" { Vector r=FITSPTR->mapLenToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)),checkWCSSystem(),Coord::ARCSEC); (yyval.vector)[0] = r[0]; @@ -3090,27 +3092,27 @@ yyreduce: break; case 81: -#line 449 "frame/ds9parser.Y" +#line 451 "frame/ds9parser.Y" {(yyval.integer) = (yyvsp[(3) - (3)].integer);;} break; case 82: -#line 452 "frame/ds9parser.Y" +#line 454 "frame/ds9parser.Y" {(yyval.real) = parseSEXStr((yyvsp[(1) - (1)].str));;} break; case 83: -#line 455 "frame/ds9parser.Y" +#line 457 "frame/ds9parser.Y" {(yyval.real) = parseHMSStr((yyvsp[(1) - (1)].str));;} break; case 84: -#line 458 "frame/ds9parser.Y" +#line 460 "frame/ds9parser.Y" {(yyval.real) = parseDMSStr((yyvsp[(1) - (1)].str));;} break; case 85: -#line 462 "frame/ds9parser.Y" +#line 464 "frame/ds9parser.Y" { Vector r; Coord::CoordSystem sys = checkWCSSystem(); @@ -3126,7 +3128,7 @@ yyreduce: break; case 86: -#line 475 "frame/ds9parser.Y" +#line 477 "frame/ds9parser.Y" { Vector r = FITSPTR->mapToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)), checkWCSSystem(), checkWCSSky()); @@ -3137,7 +3139,7 @@ yyreduce: break; case 87: -#line 483 "frame/ds9parser.Y" +#line 485 "frame/ds9parser.Y" { Vector r = FITSPTR->mapToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)), checkWCSSystem(), checkWCSSky()); @@ -3148,7 +3150,7 @@ yyreduce: break; case 88: -#line 491 "frame/ds9parser.Y" +#line 493 "frame/ds9parser.Y" { Vector r = FITSPTR->mapToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)), localSystem, localSky); (yyval.vector)[0] = r[0]; @@ -3158,7 +3160,7 @@ yyreduce: break; case 89: -#line 498 "frame/ds9parser.Y" +#line 500 "frame/ds9parser.Y" { Vector r = FITSPTR->mapToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)), checkWCSSystem(), checkWCSSky()); @@ -3169,7 +3171,7 @@ yyreduce: break; case 90: -#line 506 "frame/ds9parser.Y" +#line 508 "frame/ds9parser.Y" { Vector r = FITSPTR->mapToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)), Coord::IMAGE); (yyval.vector)[0] = r[0]; @@ -3179,7 +3181,7 @@ yyreduce: break; case 91: -#line 513 "frame/ds9parser.Y" +#line 515 "frame/ds9parser.Y" { Vector r = FITSPTR->mapToRef(Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real)), Coord::PHYSICAL); (yyval.vector)[0] = r[0]; @@ -3188,392 +3190,392 @@ yyreduce: break; case 92: -#line 520 "frame/ds9parser.Y" +#line 522 "frame/ds9parser.Y" {(yyval.integer) = Coord::IMAGE;;} break; case 93: -#line 521 "frame/ds9parser.Y" +#line 523 "frame/ds9parser.Y" {(yyval.integer) = Coord::PHYSICAL;;} break; case 94: -#line 522 "frame/ds9parser.Y" +#line 524 "frame/ds9parser.Y" {(yyval.integer) = Coord::DETECTOR;;} break; case 95: -#line 523 "frame/ds9parser.Y" +#line 525 "frame/ds9parser.Y" {(yyval.integer) = Coord::AMPLIFIER;;} break; case 96: -#line 524 "frame/ds9parser.Y" +#line 526 "frame/ds9parser.Y" {(yyval.integer) = (yyvsp[(1) - (1)].integer); globalWCS = (Coord::CoordSystem)(yyvsp[(1) - (1)].integer);;} break; case 97: -#line 527 "frame/ds9parser.Y" +#line 529 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCS;;} break; case 98: -#line 528 "frame/ds9parser.Y" +#line 530 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSA;;} break; case 99: -#line 529 "frame/ds9parser.Y" +#line 531 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSB;;} break; case 100: -#line 530 "frame/ds9parser.Y" +#line 532 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSC;;} break; case 101: -#line 531 "frame/ds9parser.Y" +#line 533 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSD;;} break; case 102: -#line 532 "frame/ds9parser.Y" +#line 534 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSE;;} break; case 103: -#line 533 "frame/ds9parser.Y" +#line 535 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSF;;} break; case 104: -#line 534 "frame/ds9parser.Y" +#line 536 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSG;;} break; case 105: -#line 535 "frame/ds9parser.Y" +#line 537 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSH;;} break; case 106: -#line 536 "frame/ds9parser.Y" +#line 538 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSI;;} break; case 107: -#line 537 "frame/ds9parser.Y" +#line 539 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSJ;;} break; case 108: -#line 538 "frame/ds9parser.Y" +#line 540 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSK;;} break; case 109: -#line 539 "frame/ds9parser.Y" +#line 541 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSL;;} break; case 110: -#line 540 "frame/ds9parser.Y" +#line 542 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSM;;} break; case 111: -#line 541 "frame/ds9parser.Y" +#line 543 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSN;;} break; case 112: -#line 542 "frame/ds9parser.Y" +#line 544 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSO;;} break; case 113: -#line 543 "frame/ds9parser.Y" +#line 545 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSP;;} break; case 114: -#line 544 "frame/ds9parser.Y" +#line 546 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSQ;;} break; case 115: -#line 545 "frame/ds9parser.Y" +#line 547 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSR;;} break; case 116: -#line 546 "frame/ds9parser.Y" +#line 548 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSS;;} break; case 117: -#line 547 "frame/ds9parser.Y" +#line 549 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCST;;} break; case 118: -#line 548 "frame/ds9parser.Y" +#line 550 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSU;;} break; case 119: -#line 549 "frame/ds9parser.Y" +#line 551 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSV;;} break; case 120: -#line 550 "frame/ds9parser.Y" +#line 552 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSW;;} break; case 121: -#line 551 "frame/ds9parser.Y" +#line 553 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSX;;} break; case 122: -#line 552 "frame/ds9parser.Y" +#line 554 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSY;;} break; case 123: -#line 553 "frame/ds9parser.Y" +#line 555 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCSZ;;} break; case 124: -#line 554 "frame/ds9parser.Y" +#line 556 "frame/ds9parser.Y" {(yyval.integer) = Coord::WCS0;;} break; case 125: -#line 557 "frame/ds9parser.Y" +#line 559 "frame/ds9parser.Y" {(yyval.integer) = Coord::FK4;;} break; case 126: -#line 558 "frame/ds9parser.Y" +#line 560 "frame/ds9parser.Y" {(yyval.integer) = Coord::FK4;;} break; case 127: -#line 559 "frame/ds9parser.Y" +#line 561 "frame/ds9parser.Y" {(yyval.integer) = Coord::FK4_NO_E;;} break; case 128: -#line 560 "frame/ds9parser.Y" +#line 562 "frame/ds9parser.Y" {(yyval.integer) = Coord::FK5;;} break; case 129: -#line 561 "frame/ds9parser.Y" +#line 563 "frame/ds9parser.Y" {(yyval.integer) = Coord::FK5;;} break; case 130: -#line 562 "frame/ds9parser.Y" +#line 564 "frame/ds9parser.Y" {(yyval.integer) = Coord::ICRS;;} break; case 131: -#line 563 "frame/ds9parser.Y" +#line 565 "frame/ds9parser.Y" {(yyval.integer) = Coord::GALACTIC;;} break; case 132: -#line 564 "frame/ds9parser.Y" +#line 566 "frame/ds9parser.Y" {(yyval.integer) = Coord::SUPERGALACTIC;;} break; case 133: -#line 565 "frame/ds9parser.Y" +#line 567 "frame/ds9parser.Y" {(yyval.integer) = Coord::ECLIPTIC;;} break; case 134: -#line 566 "frame/ds9parser.Y" +#line 568 "frame/ds9parser.Y" {(yyval.integer) = Coord::HELIOECLIPTIC;;} break; case 135: -#line 569 "frame/ds9parser.Y" +#line 571 "frame/ds9parser.Y" {(yyval.integer)=Coord::DEGREE;;} break; case 136: -#line 570 "frame/ds9parser.Y" +#line 572 "frame/ds9parser.Y" {(yyval.integer)=Coord::ARCMIN;;} break; case 137: -#line 571 "frame/ds9parser.Y" +#line 573 "frame/ds9parser.Y" {(yyval.integer)=Coord::ARCSEC;;} break; case 138: -#line 574 "frame/ds9parser.Y" +#line 576 "frame/ds9parser.Y" {(yyval.integer) = Marker::SELECT;;} break; case 139: -#line 575 "frame/ds9parser.Y" +#line 577 "frame/ds9parser.Y" {(yyval.integer) = Marker::HIGHLITE;;} break; case 140: -#line 576 "frame/ds9parser.Y" +#line 578 "frame/ds9parser.Y" {(yyval.integer) = Marker::DASH;;} break; case 141: -#line 577 "frame/ds9parser.Y" +#line 579 "frame/ds9parser.Y" {(yyval.integer) = Marker::FIXED;;} break; case 142: -#line 578 "frame/ds9parser.Y" +#line 580 "frame/ds9parser.Y" {(yyval.integer) = Marker::EDIT;;} break; case 143: -#line 579 "frame/ds9parser.Y" +#line 581 "frame/ds9parser.Y" {(yyval.integer) = Marker::MOVE;;} break; case 144: -#line 580 "frame/ds9parser.Y" +#line 582 "frame/ds9parser.Y" {(yyval.integer) = Marker::ROTATE;;} break; case 145: -#line 581 "frame/ds9parser.Y" +#line 583 "frame/ds9parser.Y" {(yyval.integer) = Marker::DELETE;;} break; case 146: -#line 582 "frame/ds9parser.Y" +#line 584 "frame/ds9parser.Y" {(yyval.integer) = Marker::INCLUDE;;} break; case 147: -#line 583 "frame/ds9parser.Y" +#line 585 "frame/ds9parser.Y" {(yyval.integer) = Marker::SOURCE;;} break; case 148: -#line 586 "frame/ds9parser.Y" +#line 588 "frame/ds9parser.Y" {(yyval.integer) = CallBack::SELECTCB;;} break; case 149: -#line 587 "frame/ds9parser.Y" +#line 589 "frame/ds9parser.Y" {(yyval.integer) = CallBack::UNSELECTCB;;} break; case 150: -#line 588 "frame/ds9parser.Y" +#line 590 "frame/ds9parser.Y" {(yyval.integer) = CallBack::HIGHLITECB;;} break; case 151: -#line 589 "frame/ds9parser.Y" +#line 591 "frame/ds9parser.Y" {(yyval.integer) = CallBack::UNHIGHLITECB;;} break; case 152: -#line 590 "frame/ds9parser.Y" +#line 592 "frame/ds9parser.Y" {(yyval.integer) = CallBack::MOVEBEGINCB;;} break; case 153: -#line 591 "frame/ds9parser.Y" +#line 593 "frame/ds9parser.Y" {(yyval.integer) = CallBack::MOVECB;;} break; case 154: -#line 592 "frame/ds9parser.Y" +#line 594 "frame/ds9parser.Y" {(yyval.integer) = CallBack::MOVEENDCB;;} break; case 155: -#line 593 "frame/ds9parser.Y" +#line 595 "frame/ds9parser.Y" {(yyval.integer) = CallBack::EDITBEGINCB;;} break; case 156: -#line 594 "frame/ds9parser.Y" +#line 596 "frame/ds9parser.Y" {(yyval.integer) = CallBack::EDITCB;;} break; case 157: -#line 595 "frame/ds9parser.Y" +#line 597 "frame/ds9parser.Y" {(yyval.integer) = CallBack::EDITENDCB;;} break; case 158: -#line 596 "frame/ds9parser.Y" +#line 598 "frame/ds9parser.Y" {(yyval.integer) = CallBack::ROTATEBEGINCB;;} break; case 159: -#line 597 "frame/ds9parser.Y" +#line 599 "frame/ds9parser.Y" {(yyval.integer) = CallBack::ROTATECB;;} break; case 160: -#line 598 "frame/ds9parser.Y" +#line 600 "frame/ds9parser.Y" {(yyval.integer) = CallBack::ROTATEENDCB;;} break; case 161: -#line 599 "frame/ds9parser.Y" +#line 601 "frame/ds9parser.Y" {(yyval.integer) = CallBack::DELETECB;;} break; case 162: -#line 600 "frame/ds9parser.Y" +#line 602 "frame/ds9parser.Y" {(yyval.integer) = CallBack::TEXTCB;;} break; case 163: -#line 601 "frame/ds9parser.Y" +#line 603 "frame/ds9parser.Y" {(yyval.integer) = CallBack::COLORCB;;} break; case 164: -#line 602 "frame/ds9parser.Y" +#line 604 "frame/ds9parser.Y" {(yyval.integer) = CallBack::LINEWIDTHCB;;} break; case 165: -#line 603 "frame/ds9parser.Y" +#line 605 "frame/ds9parser.Y" {(yyval.integer) = CallBack::PROPERTYCB;;} break; case 166: -#line 604 "frame/ds9parser.Y" +#line 606 "frame/ds9parser.Y" {(yyval.integer) = CallBack::FONTCB;;} break; case 167: -#line 605 "frame/ds9parser.Y" +#line 607 "frame/ds9parser.Y" {(yyval.integer) = CallBack::KEYCB;;} break; case 168: -#line 606 "frame/ds9parser.Y" +#line 608 "frame/ds9parser.Y" {(yyval.integer) = CallBack::UPDATECB;;} break; case 171: -#line 614 "frame/ds9parser.Y" +#line 616 "frame/ds9parser.Y" { setProps(&globalProps,(yyvsp[(1) - (3)].integer),(yyvsp[(3) - (3)].integer)); setProps(&localProps,(yyvsp[(1) - (3)].integer),(yyvsp[(3) - (3)].integer)); @@ -3581,7 +3583,7 @@ yyreduce: break; case 172: -#line 619 "frame/ds9parser.Y" +#line 621 "frame/ds9parser.Y" { strncpy(globalColor,(yyvsp[(3) - (3)].str),16); strncpy(localColor,(yyvsp[(3) - (3)].str),16); @@ -3589,7 +3591,7 @@ yyreduce: break; case 173: -#line 624 "frame/ds9parser.Y" +#line 626 "frame/ds9parser.Y" { globalDash[0] = localDash[0] =(yyvsp[(3) - (4)].integer); globalDash[1] = localDash[1] =(yyvsp[(4) - (4)].integer); @@ -3597,12 +3599,12 @@ yyreduce: break; case 174: -#line 628 "frame/ds9parser.Y" +#line 630 "frame/ds9parser.Y" {globalWidth = localWidth = (yyvsp[(3) - (3)].integer);;} break; case 175: -#line 630 "frame/ds9parser.Y" +#line 632 "frame/ds9parser.Y" { strncpy(globalFont,(yyvsp[(3) - (3)].str),32); strncpy(localFont,(yyvsp[(3) - (3)].str),32); @@ -3610,7 +3612,7 @@ yyreduce: break; case 176: -#line 635 "frame/ds9parser.Y" +#line 637 "frame/ds9parser.Y" { strncpy(globalText,(yyvsp[(3) - (3)].str),80); strncpy(localText,(yyvsp[(3) - (3)].str),80); @@ -3618,7 +3620,7 @@ yyreduce: break; case 177: -#line 640 "frame/ds9parser.Y" +#line 642 "frame/ds9parser.Y" { setProps(&globalProps,Marker::DASH,1); setProps(&localProps,Marker::DASH,1); @@ -3626,7 +3628,7 @@ yyreduce: break; case 178: -#line 645 "frame/ds9parser.Y" +#line 647 "frame/ds9parser.Y" { setProps(&globalProps,Marker::SOURCE,1); setProps(&localProps,Marker::SOURCE,1); @@ -3634,7 +3636,7 @@ yyreduce: break; case 179: -#line 650 "frame/ds9parser.Y" +#line 652 "frame/ds9parser.Y" { setProps(&globalProps,Marker::SOURCE,0); setProps(&localProps,Marker::SOURCE,0); @@ -3642,12 +3644,12 @@ yyreduce: break; case 180: -#line 654 "frame/ds9parser.Y" +#line 656 "frame/ds9parser.Y" {globalPoint = localPoint = (yyvsp[(3) - (3)].integer);;} break; case 181: -#line 656 "frame/ds9parser.Y" +#line 658 "frame/ds9parser.Y" { globalPoint = localPoint = (yyvsp[(3) - (4)].integer); globalPointSize = localPointSize = (yyvsp[(4) - (4)].integer); @@ -3655,14 +3657,14 @@ yyreduce: break; case 182: -#line 661 "frame/ds9parser.Y" +#line 663 "frame/ds9parser.Y" { globalFill = localFill = (yyvsp[(3) - (3)].integer); ;} break; case 183: -#line 665 "frame/ds9parser.Y" +#line 667 "frame/ds9parser.Y" { globalLine1 = localLine1 = (yyvsp[(3) - (4)].integer); globalLine2 = localLine2 = (yyvsp[(4) - (4)].integer); @@ -3670,24 +3672,24 @@ yyreduce: break; case 184: -#line 669 "frame/ds9parser.Y" +#line 671 "frame/ds9parser.Y" {globalVector = localVector = (yyvsp[(3) - (3)].integer);;} break; case 185: -#line 671 "frame/ds9parser.Y" +#line 673 "frame/ds9parser.Y" { globalComposite = localComposite = (yyvsp[(3) - (3)].integer); ;} break; case 186: -#line 674 "frame/ds9parser.Y" +#line 676 "frame/ds9parser.Y" {;} break; case 187: -#line 676 "frame/ds9parser.Y" +#line 678 "frame/ds9parser.Y" { strncpy(globalCompassNorth,(yyvsp[(4) - (7)].str),80); strncpy(globalCompassEast,(yyvsp[(5) - (7)].str),80); @@ -3699,92 +3701,99 @@ yyreduce: break; case 188: -#line 684 "frame/ds9parser.Y" +#line 686 "frame/ds9parser.Y" {globalTextAngle = localTextAngle = (yyvsp[(3) - (3)].real);;} break; case 189: -#line 685 "frame/ds9parser.Y" +#line 687 "frame/ds9parser.Y" {globalTextRotate = localTextRotate = (yyvsp[(3) - (3)].integer);;} break; case 190: -#line 686 "frame/ds9parser.Y" +#line 688 "frame/ds9parser.Y" {globalWCS = (Coord::CoordSystem)(yyvsp[(3) - (3)].integer);;} break; case 191: -#line 690 "frame/ds9parser.Y" +#line 692 "frame/ds9parser.Y" { globalRulerCoordSystem = localRulerCoordSystem = (Coord::CoordSystem)(yyvsp[(1) - (4)].integer); globalRulerSkyFrame = localRulerSkyFrame = (Coord::SkyFrame)(yyvsp[(2) - (4)].integer); globalRulerDistSystem = localRulerDistSystem = (Coord::CoordSystem)(yyvsp[(3) - (4)].integer); globalRulerDistFormat = localRulerDistFormat = (Coord::DistFormat)(yyvsp[(4) - (4)].integer); + globalRulerDistSpec[0] = localRulerDistSpec[0] = '\0'; ;} break; case 192: -#line 697 "frame/ds9parser.Y" +#line 700 "frame/ds9parser.Y" { globalRulerCoordSystem = localRulerCoordSystem = (Coord::CoordSystem)(yyvsp[(1) - (2)].integer); globalRulerSkyFrame = localRulerSkyFrame = Coord::FK5; globalRulerDistSystem = localRulerDistSystem = (Coord::CoordSystem)(yyvsp[(2) - (2)].integer); globalRulerDistFormat = localRulerDistFormat = Coord::DEGREE; + globalRulerDistSpec[0] = localRulerDistSpec[0] = '\0'; ;} break; case 193: -#line 704 "frame/ds9parser.Y" +#line 708 "frame/ds9parser.Y" { globalRulerCoordSystem = localRulerCoordSystem = (Coord::CoordSystem)(yyvsp[(1) - (2)].integer); globalRulerSkyFrame = localRulerSkyFrame = Coord::FK5; globalRulerDistSystem = localRulerDistSystem = Coord::WCS; globalRulerDistFormat = localRulerDistFormat = (Coord::DistFormat)(yyvsp[(2) - (2)].integer); + globalRulerDistSpec[0] = localRulerDistSpec[0] = '\0'; ;} break; case 194: -#line 711 "frame/ds9parser.Y" +#line 716 "frame/ds9parser.Y" { globalRulerCoordSystem = localRulerCoordSystem = Coord::WCS; globalRulerSkyFrame = localRulerSkyFrame = (Coord::SkyFrame)(yyvsp[(1) - (2)].integer); globalRulerDistSystem = localRulerDistSystem = (Coord::CoordSystem)(yyvsp[(2) - (2)].integer); globalRulerDistFormat = localRulerDistFormat = Coord::DEGREE; + globalRulerDistSpec[0] = localRulerDistSpec[0] = '\0'; ;} break; case 195: -#line 718 "frame/ds9parser.Y" +#line 724 "frame/ds9parser.Y" { globalRulerCoordSystem = localRulerCoordSystem = Coord::WCS; globalRulerSkyFrame = localRulerSkyFrame = (Coord::SkyFrame)(yyvsp[(1) - (2)].integer); globalRulerDistSystem = localRulerDistSystem = Coord::WCS; globalRulerDistFormat = localRulerDistFormat = (Coord::DistFormat)(yyvsp[(2) - (2)].integer); + globalRulerDistSpec[0] = localRulerDistSpec[0] = '\0'; ;} break; case 196: -#line 725 "frame/ds9parser.Y" +#line 732 "frame/ds9parser.Y" { globalRulerCoordSystem = localRulerCoordSystem = Coord::WCS; globalRulerSkyFrame = localRulerSkyFrame = Coord::FK5; globalRulerDistSystem = localRulerDistSystem = (Coord::CoordSystem)(yyvsp[(2) - (2)].integer); globalRulerDistFormat = localRulerDistFormat = Coord::DEGREE; + globalRulerDistSpec[0] = localRulerDistSpec[0] = '\0'; ;} break; case 197: -#line 732 "frame/ds9parser.Y" +#line 740 "frame/ds9parser.Y" { globalRulerCoordSystem = localRulerCoordSystem = Coord::WCS; globalRulerSkyFrame = localRulerSkyFrame = Coord::FK5; globalRulerDistSystem = localRulerDistSystem = Coord::WCS; globalRulerDistFormat = localRulerDistFormat = (Coord::DistFormat)(yyvsp[(2) - (2)].integer); + globalRulerDistSpec[0] = localRulerDistSpec[0] = '\0'; ;} break; case 198: -#line 739 "frame/ds9parser.Y" +#line 748 "frame/ds9parser.Y" { globalRulerCoordSystem = localRulerCoordSystem = Coord::IMAGE; globalRulerSkyFrame = localRulerSkyFrame = Coord::FK5; @@ -3794,17 +3803,18 @@ yyreduce: break; case 199: -#line 746 "frame/ds9parser.Y" +#line 755 "frame/ds9parser.Y" { globalRulerCoordSystem = localRulerCoordSystem = Coord::IMAGE; globalRulerSkyFrame = localRulerSkyFrame = Coord::FK5; globalRulerDistSystem = localRulerDistSystem = Coord::IMAGE; globalRulerDistFormat = localRulerDistFormat = Coord::DEGREE; + globalRulerDistSpec[0] = localRulerDistSpec[0] = '\0'; ;} break; case 200: -#line 755 "frame/ds9parser.Y" +#line 765 "frame/ds9parser.Y" { globalCompassCoordSystem = localCompassCoordSystem = (Coord::CoordSystem)(yyvsp[(1) - (2)].integer); globalCompassSkyFrame = localCompassSkyFrame = (Coord::SkyFrame)(yyvsp[(2) - (2)].integer); @@ -3812,7 +3822,7 @@ yyreduce: break; case 201: -#line 760 "frame/ds9parser.Y" +#line 770 "frame/ds9parser.Y" { globalCompassCoordSystem = localCompassCoordSystem = (Coord::CoordSystem)(yyvsp[(1) - (1)].integer); globalCompassSkyFrame = localCompassSkyFrame = Coord::FK5; @@ -3820,7 +3830,7 @@ yyreduce: break; case 202: -#line 765 "frame/ds9parser.Y" +#line 775 "frame/ds9parser.Y" { globalCompassCoordSystem = localCompassCoordSystem = Coord::WCS; globalCompassSkyFrame = localCompassSkyFrame = (Coord::SkyFrame)(yyvsp[(1) - (1)].integer); @@ -3828,7 +3838,7 @@ yyreduce: break; case 203: -#line 770 "frame/ds9parser.Y" +#line 780 "frame/ds9parser.Y" { globalCompassCoordSystem = localCompassCoordSystem = Coord::WCS; globalCompassSkyFrame = localCompassSkyFrame = Coord::FK5; @@ -3836,7 +3846,7 @@ yyreduce: break; case 204: -#line 776 "frame/ds9parser.Y" +#line 786 "frame/ds9parser.Y" { // global properties globalSystem = Coord::PHYSICAL; @@ -3864,6 +3874,7 @@ yyreduce: globalRulerSkyFrame = Coord::FK5; globalRulerDistSystem = Coord::PHYSICAL; globalRulerDistFormat = Coord::DEGREE; + globalRulerDistSpec[0] = '\0'; globalCompassCoordSystem = Coord::PHYSICAL; globalCompassSkyFrame = Coord::FK5; strcpy(globalCompassNorth,"N"); @@ -3881,17 +3892,17 @@ yyreduce: break; case 207: -#line 823 "frame/ds9parser.Y" +#line 834 "frame/ds9parser.Y" {setProps(&localProps,(yyvsp[(1) - (3)].integer),(yyvsp[(3) - (3)].integer));;} break; case 208: -#line 824 "frame/ds9parser.Y" +#line 835 "frame/ds9parser.Y" {strncpy(localColor,(yyvsp[(3) - (3)].str),16);;} break; case 209: -#line 826 "frame/ds9parser.Y" +#line 837 "frame/ds9parser.Y" { localDash[0] =(yyvsp[(3) - (4)].integer); localDash[1] =(yyvsp[(4) - (4)].integer); @@ -3899,78 +3910,78 @@ yyreduce: break; case 210: -#line 830 "frame/ds9parser.Y" +#line 841 "frame/ds9parser.Y" {localWidth = (yyvsp[(3) - (3)].integer);;} break; case 211: -#line 831 "frame/ds9parser.Y" +#line 842 "frame/ds9parser.Y" {strncpy(localFont,(yyvsp[(3) - (3)].str),32);;} break; case 212: -#line 832 "frame/ds9parser.Y" +#line 843 "frame/ds9parser.Y" {strncpy(localText,(yyvsp[(3) - (3)].str),80);;} break; case 213: -#line 833 "frame/ds9parser.Y" +#line 844 "frame/ds9parser.Y" {taglist.append(new Tag((yyvsp[(3) - (3)].str)));;} break; case 214: -#line 834 "frame/ds9parser.Y" +#line 845 "frame/ds9parser.Y" {cblist.append( new CallBack(fr->getInterp(),(CallBack::Type)(yyvsp[(3) - (5)].integer),(yyvsp[(4) - (5)].str),(yyvsp[(5) - (5)].str)));;} break; case 215: -#line 836 "frame/ds9parser.Y" +#line 847 "frame/ds9parser.Y" {setProps(&localProps,Marker::DASH,1);;} break; case 216: -#line 837 "frame/ds9parser.Y" +#line 848 "frame/ds9parser.Y" {setProps(&localProps,Marker::SOURCE,1);;} break; case 217: -#line 838 "frame/ds9parser.Y" +#line 849 "frame/ds9parser.Y" {setProps(&localProps,Marker::SOURCE,0);;} break; case 218: -#line 840 "frame/ds9parser.Y" +#line 851 "frame/ds9parser.Y" {localPoint = (yyvsp[(3) - (3)].integer);;} break; case 219: -#line 841 "frame/ds9parser.Y" +#line 852 "frame/ds9parser.Y" {localPoint = (yyvsp[(3) - (4)].integer); localPointSize = (yyvsp[(4) - (4)].integer);;} break; case 220: -#line 842 "frame/ds9parser.Y" +#line 853 "frame/ds9parser.Y" {localFill=(yyvsp[(3) - (3)].integer);;} break; case 221: -#line 843 "frame/ds9parser.Y" +#line 854 "frame/ds9parser.Y" {localLine1=(yyvsp[(3) - (4)].integer); localLine2=(yyvsp[(4) - (4)].integer);;} break; case 222: -#line 844 "frame/ds9parser.Y" +#line 855 "frame/ds9parser.Y" {localVector=(yyvsp[(3) - (3)].integer);;} break; case 223: -#line 845 "frame/ds9parser.Y" +#line 856 "frame/ds9parser.Y" {localComposite=(yyvsp[(3) - (3)].integer);;} break; case 225: -#line 848 "frame/ds9parser.Y" +#line 859 "frame/ds9parser.Y" { strncpy(localCompassNorth,(yyvsp[(4) - (7)].str),80); strncpy(localCompassEast,(yyvsp[(5) - (7)].str),80); @@ -3980,107 +3991,116 @@ yyreduce: break; case 226: -#line 854 "frame/ds9parser.Y" +#line 865 "frame/ds9parser.Y" {localTextAngle=(yyvsp[(3) - (3)].real);;} break; case 227: -#line 855 "frame/ds9parser.Y" +#line 866 "frame/ds9parser.Y" {localTextRotate=(yyvsp[(3) - (3)].integer);;} break; case 231: -#line 862 "frame/ds9parser.Y" +#line 873 "frame/ds9parser.Y" { localRulerCoordSystem = (Coord::CoordSystem)(yyvsp[(1) - (4)].integer); localRulerSkyFrame = (Coord::SkyFrame)(yyvsp[(2) - (4)].integer); localRulerDistSystem = (Coord::CoordSystem)(yyvsp[(3) - (4)].integer); localRulerDistFormat = (Coord::DistFormat)(yyvsp[(4) - (4)].integer); + localRulerDistSpec[0] = '\0'; ;} break; case 232: -#line 869 "frame/ds9parser.Y" +#line 881 "frame/ds9parser.Y" { localRulerCoordSystem = (Coord::CoordSystem)(yyvsp[(1) - (2)].integer); localRulerSkyFrame = Coord::FK5; localRulerDistSystem = (Coord::CoordSystem)(yyvsp[(2) - (2)].integer); localRulerDistFormat = Coord::DEGREE; + localRulerDistSpec[0] = '\0'; ;} break; case 233: -#line 876 "frame/ds9parser.Y" +#line 889 "frame/ds9parser.Y" { localRulerCoordSystem = (Coord::CoordSystem)(yyvsp[(1) - (2)].integer); localRulerSkyFrame = Coord::FK5; localRulerDistSystem = Coord::WCS; localRulerDistFormat = (Coord::DistFormat)(yyvsp[(2) - (2)].integer); + localRulerDistSpec[0] = '\0'; ;} break; case 234: -#line 883 "frame/ds9parser.Y" +#line 897 "frame/ds9parser.Y" { localRulerCoordSystem = Coord::WCS; localRulerSkyFrame = (Coord::SkyFrame)(yyvsp[(1) - (2)].integer); localRulerDistSystem = (Coord::CoordSystem)(yyvsp[(2) - (2)].integer); localRulerDistFormat = Coord::DEGREE; + localRulerDistSpec[0] = '\0'; ;} break; case 235: -#line 890 "frame/ds9parser.Y" +#line 905 "frame/ds9parser.Y" { localRulerCoordSystem = Coord::WCS; localRulerSkyFrame = (Coord::SkyFrame)(yyvsp[(1) - (2)].integer); localRulerDistSystem = Coord::WCS; localRulerDistFormat = (Coord::DistFormat)(yyvsp[(2) - (2)].integer); + localRulerDistSpec[0] = '\0'; ;} break; case 236: -#line 897 "frame/ds9parser.Y" +#line 913 "frame/ds9parser.Y" { localRulerCoordSystem = Coord::WCS; localRulerSkyFrame = Coord::FK5; localRulerDistSystem = (Coord::CoordSystem)(yyvsp[(2) - (2)].integer); localRulerDistFormat = Coord::DEGREE; + localRulerDistSpec[0] = '\0'; ;} break; case 237: -#line 904 "frame/ds9parser.Y" +#line 921 "frame/ds9parser.Y" { localRulerCoordSystem = Coord::WCS; localRulerSkyFrame = Coord::FK5; localRulerDistSystem = Coord::WCS; localRulerDistFormat = (Coord::DistFormat)(yyvsp[(2) - (2)].integer); + localRulerDistSpec[0] = '\0'; ;} break; case 238: -#line 911 "frame/ds9parser.Y" +#line 929 "frame/ds9parser.Y" { localRulerCoordSystem = Coord::IMAGE; localRulerSkyFrame = Coord::FK5; localRulerDistSystem = Coord::WCS; localRulerDistFormat = (Coord::DistFormat)(yyvsp[(1) - (1)].integer); + localRulerDistSpec[0] = '\0'; ;} break; case 239: -#line 918 "frame/ds9parser.Y" +#line 937 "frame/ds9parser.Y" { localRulerCoordSystem = Coord::IMAGE; localRulerSkyFrame = Coord::FK5; localRulerDistSystem = Coord::IMAGE; localRulerDistFormat = Coord::DEGREE; + localRulerDistSpec[0] = '\0'; ;} break; case 240: -#line 927 "frame/ds9parser.Y" +#line 947 "frame/ds9parser.Y" { localCompassCoordSystem = (Coord::CoordSystem)(yyvsp[(1) - (2)].integer); localCompassSkyFrame = (Coord::SkyFrame)(yyvsp[(2) - (2)].integer); @@ -4088,7 +4108,7 @@ yyreduce: break; case 241: -#line 932 "frame/ds9parser.Y" +#line 952 "frame/ds9parser.Y" { localCompassCoordSystem = (Coord::CoordSystem)(yyvsp[(1) - (1)].integer); localCompassSkyFrame = Coord::FK5; @@ -4096,7 +4116,7 @@ yyreduce: break; case 242: -#line 937 "frame/ds9parser.Y" +#line 957 "frame/ds9parser.Y" { localCompassCoordSystem = Coord::WCS; localCompassSkyFrame = (Coord::SkyFrame)(yyvsp[(1) - (1)].integer); @@ -4104,7 +4124,7 @@ yyreduce: break; case 243: -#line 942 "frame/ds9parser.Y" +#line 962 "frame/ds9parser.Y" { localCompassCoordSystem = Coord::WCS; localCompassSkyFrame = Coord::FK5; @@ -4112,52 +4132,52 @@ yyreduce: break; case 244: -#line 948 "frame/ds9parser.Y" +#line 968 "frame/ds9parser.Y" {aNum=0; aAngNum=0;;} break; case 245: -#line 948 "frame/ds9parser.Y" +#line 968 "frame/ds9parser.Y" {localCpanda = 2;;} break; case 246: -#line 949 "frame/ds9parser.Y" +#line 969 "frame/ds9parser.Y" {localCpanda=0;;} break; case 247: -#line 952 "frame/ds9parser.Y" +#line 972 "frame/ds9parser.Y" {aNum=0; aAngNum=0, aAngle=0;;} break; case 248: -#line 953 "frame/ds9parser.Y" +#line 973 "frame/ds9parser.Y" {aAngle=(yyvsp[(9) - (10)].real);localEpanda=2;;} break; case 249: -#line 954 "frame/ds9parser.Y" +#line 974 "frame/ds9parser.Y" {localEpanda=0;;} break; case 250: -#line 957 "frame/ds9parser.Y" +#line 977 "frame/ds9parser.Y" {aNum=0; aAngNum=0, aAngle=0;;} break; case 251: -#line 958 "frame/ds9parser.Y" +#line 978 "frame/ds9parser.Y" {aAngle=(yyvsp[(9) - (10)].real);localBpanda=2;;} break; case 252: -#line 959 "frame/ds9parser.Y" +#line 979 "frame/ds9parser.Y" {localBpanda=0;;} break; case 253: -#line 962 "frame/ds9parser.Y" +#line 982 "frame/ds9parser.Y" { // reset maperr flag maperr = 0; @@ -4209,52 +4229,52 @@ yyreduce: break; case 254: -#line 1012 "frame/ds9parser.Y" +#line 1032 "frame/ds9parser.Y" {(yyval.integer) = Point::CIRCLE;;} break; case 255: -#line 1013 "frame/ds9parser.Y" +#line 1033 "frame/ds9parser.Y" {(yyval.integer) = Point::BOX;;} break; case 256: -#line 1014 "frame/ds9parser.Y" +#line 1034 "frame/ds9parser.Y" {(yyval.integer) = Point::DIAMOND;;} break; case 257: -#line 1015 "frame/ds9parser.Y" +#line 1035 "frame/ds9parser.Y" {(yyval.integer) = Point::CROSS;;} break; case 258: -#line 1016 "frame/ds9parser.Y" +#line 1036 "frame/ds9parser.Y" {(yyval.integer) = Point::EX;;} break; case 259: -#line 1017 "frame/ds9parser.Y" +#line 1037 "frame/ds9parser.Y" {(yyval.integer) = Point::ARROW;;} break; case 260: -#line 1018 "frame/ds9parser.Y" +#line 1038 "frame/ds9parser.Y" {(yyval.integer) = Point::BOXCIRCLE;;} break; case 261: -#line 1021 "frame/ds9parser.Y" +#line 1041 "frame/ds9parser.Y" {setProps(&localProps, Marker::INCLUDE, 1);;} break; case 262: -#line 1022 "frame/ds9parser.Y" +#line 1042 "frame/ds9parser.Y" {setProps(&localProps, Marker::INCLUDE, 0);;} break; case 263: -#line 1026 "frame/ds9parser.Y" +#line 1046 "frame/ds9parser.Y" { fr->createVectCmd(Vector((yyvsp[(3) - (10)].vector)), (yyvsp[(5) - (10)].real),(yyvsp[(7) - (10)].real), @@ -4265,12 +4285,12 @@ yyreduce: break; case 264: -#line 1033 "frame/ds9parser.Y" +#line 1053 "frame/ds9parser.Y" {polylist.deleteAll();;} break; case 265: -#line 1035 "frame/ds9parser.Y" +#line 1055 "frame/ds9parser.Y" { fr->createSegmentCmd(polylist, localColor,localDash,localWidth,localFont, @@ -4279,7 +4299,7 @@ yyreduce: break; case 266: -#line 1041 "frame/ds9parser.Y" +#line 1061 "frame/ds9parser.Y" { fr->createTextCmd(Vector((yyvsp[(3) - (6)].vector)), localTextAngle,localTextRotate, @@ -4289,19 +4309,19 @@ yyreduce: break; case 267: -#line 1048 "frame/ds9parser.Y" +#line 1068 "frame/ds9parser.Y" { fr->createRulerCmd(Vector((yyvsp[(3) - (8)].vector)), Vector((yyvsp[(5) - (8)].vector)), localRulerCoordSystem, localRulerSkyFrame, - localRulerDistSystem, localRulerDistFormat, + localRulerDistSystem, localRulerDistFormat, localRulerDistSpec, localColor,localDash,localWidth,localFont, localText,localProps,localComment,taglist,cblist); ;} break; case 268: -#line 1057 "frame/ds9parser.Y" +#line 1077 "frame/ds9parser.Y" { fr->createCompassCmd(Vector((yyvsp[(3) - (8)].vector)), (yyvsp[(5) - (8)].real), @@ -4314,7 +4334,7 @@ yyreduce: break; case 269: -#line 1067 "frame/ds9parser.Y" +#line 1087 "frame/ds9parser.Y" { fr->createProjectionCmd(Vector((yyvsp[(3) - (10)].vector)), Vector((yyvsp[(5) - (10)].vector)), @@ -4325,7 +4345,7 @@ yyreduce: break; case 270: -#line 1075 "frame/ds9parser.Y" +#line 1095 "frame/ds9parser.Y" { // backward compatibility fr->createCircleCmd(Vector((yyvsp[(3) - (8)].vector)), @@ -4336,7 +4356,7 @@ yyreduce: break; case 271: -#line 1083 "frame/ds9parser.Y" +#line 1103 "frame/ds9parser.Y" { fr->createCompositeCmd(Vector((yyvsp[(3) - (8)].vector)), (yyvsp[(5) - (8)].real), localComposite, @@ -4346,7 +4366,7 @@ yyreduce: break; case 272: -#line 1092 "frame/ds9parser.Y" +#line 1112 "frame/ds9parser.Y" { fr->createCircleCmd(Vector((yyvsp[(3) - (8)].vector)), (yyvsp[(5) - (8)].real), localFill, @@ -4356,7 +4376,7 @@ yyreduce: break; case 273: -#line 1099 "frame/ds9parser.Y" +#line 1119 "frame/ds9parser.Y" { // backwards compatibility fr->createCircleCmd(Vector((yyvsp[(3) - (8)].vector)), @@ -4367,7 +4387,7 @@ yyreduce: break; case 274: -#line 1107 "frame/ds9parser.Y" +#line 1127 "frame/ds9parser.Y" { // for ellipse annulus aStatus = 1; @@ -4393,7 +4413,7 @@ yyreduce: break; case 275: -#line 1130 "frame/ds9parser.Y" +#line 1150 "frame/ds9parser.Y" { // for box annulus aStatus = 3; @@ -4419,7 +4439,7 @@ yyreduce: break; case 276: -#line 1153 "frame/ds9parser.Y" +#line 1173 "frame/ds9parser.Y" { // backwards compatibility fr->createBoxCmd(Vector((yyvsp[(3) - (10)].vector)), @@ -4431,12 +4451,12 @@ yyreduce: break; case 277: -#line 1161 "frame/ds9parser.Y" +#line 1181 "frame/ds9parser.Y" {polylist.deleteAll();;} break; case 278: -#line 1163 "frame/ds9parser.Y" +#line 1183 "frame/ds9parser.Y" { fr->createPolygonCmd(polylist, localFill, localColor,localDash,localWidth,localFont, @@ -4445,12 +4465,12 @@ yyreduce: break; case 279: -#line 1168 "frame/ds9parser.Y" +#line 1188 "frame/ds9parser.Y" {polylist.deleteAll();;} break; case 280: -#line 1170 "frame/ds9parser.Y" +#line 1190 "frame/ds9parser.Y" { fr->createSegmentCmd(polylist, localColor,localDash,localWidth,localFont, @@ -4459,7 +4479,7 @@ yyreduce: break; case 281: -#line 1177 "frame/ds9parser.Y" +#line 1197 "frame/ds9parser.Y" { fr->createLineCmd(Vector((yyvsp[(3) - (8)].vector)), Vector((yyvsp[(5) - (8)].vector)), @@ -4470,7 +4490,7 @@ yyreduce: break; case 282: -#line 1185 "frame/ds9parser.Y" +#line 1205 "frame/ds9parser.Y" { fr->createVectCmd(Vector((yyvsp[(3) - (10)].vector)), (yyvsp[(5) - (10)].real),(yyvsp[(7) - (10)].real), @@ -4481,7 +4501,7 @@ yyreduce: break; case 283: -#line 1193 "frame/ds9parser.Y" +#line 1213 "frame/ds9parser.Y" { fr->createTextCmd(Vector((yyvsp[(3) - (6)].vector)), localTextAngle,localTextRotate, @@ -4491,12 +4511,12 @@ yyreduce: break; case 284: -#line 1199 "frame/ds9parser.Y" +#line 1219 "frame/ds9parser.Y" {strncpy(localText,(yyvsp[(5) - (6)].str),80);;} break; case 285: -#line 1201 "frame/ds9parser.Y" +#line 1221 "frame/ds9parser.Y" { fr->createTextCmd(Vector((yyvsp[(3) - (9)].vector)), localTextAngle,localTextRotate, @@ -4506,7 +4526,7 @@ yyreduce: break; case 286: -#line 1208 "frame/ds9parser.Y" +#line 1228 "frame/ds9parser.Y" { fr->createPointCmd(Vector((yyvsp[(3) - (6)].vector)), (Point::PointShape)localPoint, localPointSize, @@ -4516,7 +4536,7 @@ yyreduce: break; case 287: -#line 1215 "frame/ds9parser.Y" +#line 1235 "frame/ds9parser.Y" { // backwards compatibility fr->createPointCmd(Vector((yyvsp[(4) - (7)].vector)), Point::CIRCLE, localPointSize, @@ -4526,7 +4546,7 @@ yyreduce: break; case 288: -#line 1222 "frame/ds9parser.Y" +#line 1242 "frame/ds9parser.Y" { // backwards compatibility fr->createPointCmd(Vector((yyvsp[(4) - (7)].vector)), Point::BOX, localPointSize, @@ -4536,7 +4556,7 @@ yyreduce: break; case 289: -#line 1229 "frame/ds9parser.Y" +#line 1249 "frame/ds9parser.Y" { // backwards compatibility fr->createPointCmd(Vector((yyvsp[(4) - (7)].vector)), Point::DIAMOND, localPointSize, @@ -4546,7 +4566,7 @@ yyreduce: break; case 290: -#line 1236 "frame/ds9parser.Y" +#line 1256 "frame/ds9parser.Y" { // backwards compatibility fr->createPointCmd(Vector((yyvsp[(4) - (7)].vector)), Point::CROSS, localPointSize, @@ -4556,7 +4576,7 @@ yyreduce: break; case 291: -#line 1243 "frame/ds9parser.Y" +#line 1263 "frame/ds9parser.Y" { // backwards compatibility fr->createPointCmd(Vector((yyvsp[(4) - (7)].vector)), Point::EX, localPointSize, @@ -4566,7 +4586,7 @@ yyreduce: break; case 292: -#line 1250 "frame/ds9parser.Y" +#line 1270 "frame/ds9parser.Y" { // backwards compatibility fr->createPointCmd(Vector((yyvsp[(4) - (7)].vector)), Point::ARROW, localPointSize, @@ -4576,7 +4596,7 @@ yyreduce: break; case 293: -#line 1257 "frame/ds9parser.Y" +#line 1277 "frame/ds9parser.Y" { // backwards compatibility fr->createPointCmd(Vector((yyvsp[(4) - (7)].vector)), Point::BOXCIRCLE, localPointSize, @@ -4586,19 +4606,19 @@ yyreduce: break; case 294: -#line 1264 "frame/ds9parser.Y" +#line 1284 "frame/ds9parser.Y" { fr->createRulerCmd(Vector((yyvsp[(3) - (8)].vector)), Vector((yyvsp[(5) - (8)].vector)), localRulerCoordSystem, localRulerSkyFrame, - localRulerDistSystem, localRulerDistFormat, + localRulerDistSystem, localRulerDistFormat, localRulerDistSpec, localColor,localDash,localWidth,localFont, localText,localProps,localComment,taglist,cblist); ;} break; case 295: -#line 1273 "frame/ds9parser.Y" +#line 1293 "frame/ds9parser.Y" { fr->createCompassCmd(Vector((yyvsp[(3) - (8)].vector)), (yyvsp[(5) - (8)].real), @@ -4611,7 +4631,7 @@ yyreduce: break; case 296: -#line 1283 "frame/ds9parser.Y" +#line 1303 "frame/ds9parser.Y" { fr->createProjectionCmd(Vector((yyvsp[(3) - (10)].vector)), Vector((yyvsp[(5) - (10)].vector)), @@ -4622,7 +4642,7 @@ yyreduce: break; case 297: -#line 1291 "frame/ds9parser.Y" +#line 1311 "frame/ds9parser.Y" { fr->createAnnulusCmd(Vector((yyvsp[(3) - (10)].vector)), (yyvsp[(5) - (10)].real),(yyvsp[(7) - (10)].real),1, @@ -4632,7 +4652,7 @@ yyreduce: break; case 298: -#line 1299 "frame/ds9parser.Y" +#line 1319 "frame/ds9parser.Y" { aAnnuli[0] = (yyvsp[(5) - (12)].real); aAnnuli[1] = (yyvsp[(7) - (12)].real); @@ -4644,7 +4664,7 @@ yyreduce: break; case 299: -#line 1309 "frame/ds9parser.Y" +#line 1329 "frame/ds9parser.Y" { fr->createAnnulusCmd(Vector((yyvsp[(3) - (12)].vector)), (yyvsp[(5) - (12)].real),(yyvsp[(7) - (12)].real),(yyvsp[(9) - (12)].integer), @@ -4654,7 +4674,7 @@ yyreduce: break; case 300: -#line 1317 "frame/ds9parser.Y" +#line 1337 "frame/ds9parser.Y" { // prefered syntax fr->createEllipseAnnulusCmd(Vector((yyvsp[(3) - (12)].vector)), @@ -4666,7 +4686,7 @@ yyreduce: break; case 301: -#line 1327 "frame/ds9parser.Y" +#line 1347 "frame/ds9parser.Y" { // prefered syntax fr->createEllipseAnnulusCmd(Vector((yyvsp[(3) - (14)].vector)), @@ -4678,7 +4698,7 @@ yyreduce: break; case 302: -#line 1337 "frame/ds9parser.Y" +#line 1357 "frame/ds9parser.Y" { // prefered syntax aVector[0] = Vector((yyvsp[(5) - (14)].vector)); @@ -4692,7 +4712,7 @@ yyreduce: break; case 303: -#line 1349 "frame/ds9parser.Y" +#line 1369 "frame/ds9parser.Y" { // backwards compatibility // old saoimage syntax @@ -4702,7 +4722,7 @@ yyreduce: break; case 304: -#line 1357 "frame/ds9parser.Y" +#line 1377 "frame/ds9parser.Y" { // prefered syntax fr->createBoxAnnulusCmd(Vector((yyvsp[(3) - (12)].vector)), @@ -4714,7 +4734,7 @@ yyreduce: break; case 305: -#line 1367 "frame/ds9parser.Y" +#line 1387 "frame/ds9parser.Y" { // prefered syntax aVector[0] = Vector((yyvsp[(5) - (14)].vector)); @@ -4728,7 +4748,7 @@ yyreduce: break; case 306: -#line 1379 "frame/ds9parser.Y" +#line 1399 "frame/ds9parser.Y" { // prefered syntax fr->createBoxAnnulusCmd(Vector((yyvsp[(3) - (14)].vector)), @@ -4740,7 +4760,7 @@ yyreduce: break; case 307: -#line 1389 "frame/ds9parser.Y" +#line 1409 "frame/ds9parser.Y" { // backwards compatibility // old saoimage syntax @@ -4750,7 +4770,7 @@ yyreduce: break; case 308: -#line 1398 "frame/ds9parser.Y" +#line 1418 "frame/ds9parser.Y" { switch (localCpanda) { case 0: /* ignore it */ @@ -4774,7 +4794,7 @@ yyreduce: break; case 309: -#line 1420 "frame/ds9parser.Y" +#line 1440 "frame/ds9parser.Y" { switch (localEpanda) { case 0: /* ignore it */ @@ -4800,7 +4820,7 @@ yyreduce: break; case 310: -#line 1444 "frame/ds9parser.Y" +#line 1464 "frame/ds9parser.Y" { switch (localBpanda) { case 0: /* ignore it */ @@ -4826,7 +4846,7 @@ yyreduce: break; case 315: -#line 1474 "frame/ds9parser.Y" +#line 1494 "frame/ds9parser.Y" { fr->createCompositeCmd(Vector((yyvsp[(3) - (8)].vector)), (yyvsp[(5) - (8)].real), localComposite, @@ -4836,12 +4856,12 @@ yyreduce: break; case 318: -#line 1486 "frame/ds9parser.Y" +#line 1506 "frame/ds9parser.Y" {polylist.append(new Vertex((yyvsp[(1) - (1)].vector)));;} break; case 321: -#line 1494 "frame/ds9parser.Y" +#line 1514 "frame/ds9parser.Y" { if (aNum < MAXANNULI) aAnnuli[aNum++] = (yyvsp[(1) - (1)].real); @@ -4849,7 +4869,7 @@ yyreduce: break; case 324: -#line 1505 "frame/ds9parser.Y" +#line 1525 "frame/ds9parser.Y" { if (aAngNum < MAXANGLES) aAngles[aAngNum++] = (yyvsp[(1) - (1)].real); @@ -4857,12 +4877,12 @@ yyreduce: break; case 327: -#line 1515 "frame/ds9parser.Y" +#line 1535 "frame/ds9parser.Y" {aVector[aNum++] = Vector((yyvsp[(1) - (3)].real),(yyvsp[(3) - (3)].real));;} break; case 328: -#line 1519 "frame/ds9parser.Y" +#line 1539 "frame/ds9parser.Y" { // old style annulus switch (aStatus) { @@ -4893,7 +4913,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 4897 "frame/ds9parser.C" +#line 4917 "frame/ds9parser.C" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -5107,7 +5127,7 @@ yyreturn: } -#line 1546 "frame/ds9parser.Y" +#line 1566 "frame/ds9parser.Y" static void setProps(unsigned short* props, unsigned short prop, int value) |