diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2020-03-10 20:29:29 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2020-03-10 20:29:29 (GMT) |
commit | 4dde909ee68f9f50d8cdbc34a6bc35876f5f74e5 (patch) | |
tree | 898b1f3f34dae1498a4f9e3ae0d0508859e459e6 | |
parent | f7fbfc9c0c0b92119f10983c9734181477014582 (diff) | |
download | blt-4dde909ee68f9f50d8cdbc34a6bc35876f5f74e5.zip blt-4dde909ee68f9f50d8cdbc34a6bc35876f5f74e5.tar.gz blt-4dde909ee68f9f50d8cdbc34a6bc35876f5f74e5.tar.bz2 |
clean up code cat,fp,sia
-rw-r--r-- | ds9/library/cat.tcl | 16 | ||||
-rw-r--r-- | ds9/library/catdialog.tcl | 61 | ||||
-rw-r--r-- | ds9/library/fpdialog.tcl | 69 | ||||
-rw-r--r-- | ds9/library/table.tcl | 71 | ||||
-rw-r--r-- | ds9/library/util.tcl | 12 | ||||
-rw-r--r-- | ds9/library/wcs.tcl | 5 | ||||
-rw-r--r-- | ds9/parsers/catparser.tac | 18 | ||||
-rw-r--r-- | ds9/parsers/catparser.tcl | 88 | ||||
-rw-r--r-- | ds9/parsers/fplex.fcl | 10 | ||||
-rw-r--r-- | ds9/parsers/fplex.tcl | 703 | ||||
-rw-r--r-- | ds9/parsers/fpparser.tab.tcl | 147 | ||||
-rw-r--r-- | ds9/parsers/fpparser.tac | 39 | ||||
-rw-r--r-- | ds9/parsers/fpparser.tcl | 3060 | ||||
-rw-r--r-- | ds9/parsers/siaparser.tac | 8 | ||||
-rw-r--r-- | ds9/parsers/siaparser.tcl | 74 |
15 files changed, 2464 insertions, 1917 deletions
diff --git a/ds9/library/cat.tcl b/ds9/library/cat.tcl index f87e427..d8e4651 100644 --- a/ds9/library/cat.tcl +++ b/ds9/library/cat.tcl @@ -1004,22 +1004,6 @@ proc CatalogCmdRef {ref} { } } -proc CatalogCmdFilterLoad {fn} { - global cvarname - upvar #0 $cvarname cvar - - if {$fn != {}} { - if {[catch {open $fn r} fp]} { - Error "[msgcat::mc {Unable to open file}] $fn: $fp" - yyerror - } - set flt [read -nonewline $fp] - catch {regsub {\n} $flt " " $flt} - set cvar(filter) [string trim $flt] - catch {close $fp} - } -} - proc CatalogCmdLoad {fn reader} { global icat diff --git a/ds9/library/catdialog.tcl b/ds9/library/catdialog.tcl index 4c3ce58..24530f2 100644 --- a/ds9/library/catdialog.tcl +++ b/ds9/library/catdialog.tcl @@ -148,10 +148,10 @@ proc CATDialog {varname format catalog title action} { -command [list CATAck $varname] $mb.file add separator $mb.file add command -label [msgcat::mc {Update from Current Frame}] \ - -command [list CATUpdate $varname] + -command [list TBLUpdate $varname] $mb.file add command \ -label [msgcat::mc {Update from Current Crosshair}] \ - -command [list CATCrosshair $varname] + -command [list TBLCrosshair $varname] $mb.file add separator $mb.file add command -label [msgcat::mc {Copy to Regions}] \ -command [list CATGenerateRegions $varname] @@ -323,7 +323,7 @@ proc CATDialog {varname format catalog title action} { CoordMenuEnable $f.coord.menu $varname system sky skyformat ttk::button $f.update -text [msgcat::mc {Update}] \ - -command [list CATUpdate $varname] + -command [list TBLUpdate $varname] ttk::label $f.rtitle -text [msgcat::mc {Radius}] ttk::entry $f.r -textvariable ${varname}(radius) -width 14 @@ -497,7 +497,7 @@ proc CATDialog {varname format catalog title action} { } ARCoord $varname - CATUpdate $varname + TBLUpdate $varname CATDialogUpdate $varname ARStatus $varname {} @@ -715,27 +715,6 @@ proc CATDestroy {varname} { ARDestroy $varname } -proc CATCrosshair {varname} { - upvar #0 $varname var - global $varname - - if {[info commands $var(frame)] == {}} { - return - } - - if {![$var(frame) has fits]} { - return - } - - if {[$var(frame) has wcs celestial $var(system)]} { - set coord [$var(frame) get crosshair \ - $var(system) $var(sky) $var(skyformat)] - set var(x) [lindex $coord 0] - set var(y) [lindex $coord 1] - set var(name) {} - } -} - proc CATEdit {varname} { upvar #0 $varname var global $varname @@ -888,38 +867,6 @@ proc CATPageSetup {varname} { } } -proc CATUpdate {varname} { - upvar #0 $varname var - global $varname - - global debug - if {$debug(tcl,cat)} { - puts stderr "CATUpdate $varname" - } - - if {[info commands $var(frame)] == {}} { - return - } - - if {![$var(frame) has fits]} { - return - } - - if {[$var(frame) has wcs celestial $var(system)]} { - set coord [$var(frame) get fits center \ - $var(system) $var(sky) $var(skyformat)] - set var(x) [lindex $coord 0] - set var(y) [lindex $coord 1] - - set size [$var(frame) get fits size \ - $var(system) $var(sky) $var(rformat)] - set ww [lindex $size 0] - set hh [lindex $size 1] - set var(radius) [expr ($ww+$hh)/4] - set var(name) {} - } -} - proc CATWCSMenuUpdate {varname} { upvar #0 $varname var global $varname diff --git a/ds9/library/fpdialog.tcl b/ds9/library/fpdialog.tcl index 5878f44..adb2ecd 100644 --- a/ds9/library/fpdialog.tcl +++ b/ds9/library/fpdialog.tcl @@ -117,8 +117,6 @@ proc FPDialog {varname title url instr format action} { -command [list FPApply $varname 0] $mb.file add command -label [msgcat::mc {Cancel}] \ -command [list ARCancel $varname] - $mb.file add command -label [msgcat::mc {Clear}] \ - -command [list FPOff $varname] $mb.file add separator $mb.file add command -label [msgcat::mc {Filter}] \ -command [list FPTable $varname] @@ -129,10 +127,10 @@ proc FPDialog {varname title url instr format action} { -variable ${varname}(show) -command [list FPGenerate $varname] $mb.file add separator $mb.file add command -label [msgcat::mc {Update from Current Frame}] \ - -command [list FPUpdate $varname] + -command [list TBLUpdate $varname] $mb.file add command \ -label [msgcat::mc {Update from Current Crosshair}] \ - -command [list FPCrosshair $varname] + -command [list TBLCrosshair $varname] $mb.file add separator $mb.file add command -label [msgcat::mc {Copy to Regions}] \ -command [list FPGenerateRegions $varname] @@ -182,7 +180,7 @@ proc FPDialog {varname title url instr format action} { CoordMenuEnable $f.coord.menu $varname system sky skyformat ttk::button $f.update -text [msgcat::mc {Update}] \ - -command [list FPUpdate $varname] + -command [list TBLUpdate $varname] ttk::label $f.rtitle -text [msgcat::mc {Radius}] ttk::entry $f.r -textvariable ${varname}(radius) -width 14 @@ -309,7 +307,7 @@ proc FPDialog {varname title url instr format action} { TBLSortMenu $varname ARCoord $varname - FPUpdate $varname + TBLUpdate $varname FPDialogUpdate $varname ARStatus $varname {} @@ -488,62 +486,3 @@ proc FPDialogUpdate {varname} { } } -proc FPUpdate {varname} { - upvar #0 $varname var - global $varname - - global debug - if {$debug(tcl,fp)} { - puts stderr "FPUpdate $varname" - } - - if {[info commands $var(frame)] == {}} { - return - } - - if {![$var(frame) has fits]} { - return - } - - set var(name) {} - set var(x) {} - set var(y) {} - set var(radius) {} - - if {[$var(frame) has wcs celestial $var(system)]} { - set coord [$var(frame) get fits center \ - $var(system) $var(sky) $var(skyformat)] - set var(x) [lindex $coord 0] - set var(y) [lindex $coord 1] - - set size [$var(frame) get fits size \ - $var(system) $var(sky) $var(rformat)] - set ww [lindex $size 0] - set hh [lindex $size 1] - set var(radius) [expr ($ww+$hh)/4] - } -} - -proc FPCrosshair {varname} { - upvar #0 $varname var - global $varname - - if {[info commands $var(frame)] == {}} { - return - } - - if {![$var(frame) has fits]} { - return - } - - set var(name) {} - set var(x) {} - set var(y) {} - - if {[$var(frame) has wcs celestial $var(system)]} { - set coord [$var(frame) get crosshair \ - $var(system) $var(sky) $var(skyformat)] - set var(x) [lindex $coord 0] - set var(y) [lindex $coord 1] - } -} diff --git a/ds9/library/table.tcl b/ds9/library/table.tcl index 7e74158..a4102bb 100644 --- a/ds9/library/table.tcl +++ b/ds9/library/table.tcl @@ -222,6 +222,30 @@ proc TBLSelectTimerCancel {varname layer} { set var(blink,marker,color) {} } +proc TBLCrosshair {varname} { + upvar #0 $varname var + global $varname + + if {[info commands $var(frame)] == {}} { + return + } + + if {![$var(frame) has fits]} { + return + } + + set var(name) {} + set var(x) {} + set var(y) {} + + if {[$var(frame) has wcs celestial $var(system)]} { + set coord [$var(frame) get crosshair \ + $var(system) $var(sky) $var(skyformat)] + set var(x) [lindex $coord 0] + set var(y) [lindex $coord 1] + } +} + proc TBLPanTo {varname mk layer} { upvar #0 $varname var global $varname @@ -246,6 +270,37 @@ proc TBLPanTo {varname mk layer} { } } +proc TBLUpdate {varname} { + upvar #0 $varname var + global $varname + + if {[info commands $var(frame)] == {}} { + return + } + + if {![$var(frame) has fits]} { + return + } + + set var(name) {} + set var(x) {} + set var(y) {} + set var(radius) {} + + if {[$var(frame) has wcs celestial $var(system)]} { + set coord [$var(frame) get fits center \ + $var(system) $var(sky) $var(skyformat)] + set var(x) [lindex $coord 0] + set var(y) [lindex $coord 1] + + set size [$var(frame) get fits size \ + $var(system) $var(sky) $var(rformat)] + set ww [lindex $size 0] + set hh [lindex $size 1] + set var(radius) [expr ($ww+$hh)/4] + } +} + proc TBLWCSMenuUpdate {varname} { upvar #0 $varname var global $varname @@ -691,6 +746,22 @@ proc TBLCmdSystem {sys} { CoordMenuButtonCmd $cvarname system sky [list TBLWCSMenuUpdate $cvarname] } +proc TBLCmdFilterLoad {fn} { + global cvarname + upvar #0 $cvarname cvar + + if {$fn != {}} { + if {[catch {open $fn r} fp]} { + Error "[msgcat::mc {Unable to open file}] $fn: $fp" + yyerror + } + set flt [read -nonewline $fp] + catch {regsub {\n} $flt " " $flt} + set cvar(filter) [string trim $flt] + catch {close $fp} + } +} + # print proc TBLPrint {varname} { diff --git a/ds9/library/util.tcl b/ds9/library/util.tcl index 3431fc2..2e67a4f 100644 --- a/ds9/library/util.tcl +++ b/ds9/library/util.tcl @@ -279,18 +279,6 @@ proc ProcessCmdCVAR2 {key value key2 value2 {cmd {}}} { } } -proc ProcessCmdCVAR3 {key value key2 value2 key3 value3 {cmd {}}} { - global cvarname - upvar #0 $cvarname cvar - - set cvar($key) $value - set cvar($key2) $value2 - set cvar($key3) $value3 - if {$cmd != {}} { - eval $cmd $cvarname - } -} - proc ProcessCmdCVAR4 {key value key2 value2 key3 value3 key4 value4 {cmd {}}} { global cvarname upvar #0 $cvarname cvar diff --git a/ds9/library/wcs.tcl b/ds9/library/wcs.tcl index 3488bae..3d284d5 100644 --- a/ds9/library/wcs.tcl +++ b/ds9/library/wcs.tcl @@ -374,6 +374,7 @@ proc WCSApplyDialog {} { RGBEvalLock rgb(lock,wcs) $current(frame) "$current(frame) wcs replace text $dwcs(ext) \{\{[WCSFromVar]\}\}" UpdateWCS CATUpdateWCS + FPUpdateWCS } } @@ -386,6 +387,7 @@ proc WCSResetDialog {} { RGBEvalLock rgb(lock,wcs) $current(frame) [list $current(frame) wcs reset $dwcs(ext)] UpdateWCS CATUpdateWCS + FPUpdateWCS UpdateWCSDialog } } @@ -1152,6 +1154,7 @@ proc WCSCmdReset {ext} { [list $current(frame) wcs reset $ext] UpdateWCS CATUpdateWCS + FPUpdateWCS UpdateWCSDialog } @@ -1172,6 +1175,7 @@ proc WCSCmdLoad {cmd ext} { UpdateWCS CATUpdateWCS + FPUpdateWCS UpdateWCSDialog } @@ -1186,6 +1190,7 @@ proc WCSCmdLoadFn {cmd ext fn} { RGBEvalLock rgb(lock,wcs) $current(frame) "$current(frame) wcs $cmd $ext \{\{$fn\}\}" UpdateWCS CATUpdateWCS + FPUpdateWCS UpdateWCSDialog } diff --git a/ds9/parsers/catparser.tac b/ds9/parsers/catparser.tac index 585599c..3af6eda 100644 --- a/ds9/parsers/catparser.tac +++ b/ds9/parsers/catparser.tac @@ -144,7 +144,7 @@ catCmd : coordinate | CLOSE_ {ProcessCmdCVAR0 CATDestroy} # backward compatibilty | COORDINATE_ coordinate - | CROSSHAIR_ {ProcessCmdCVAR0 CATCrosshair} + | CROSSHAIR_ {ProcessCmdCVAR0 TBLCrosshair} | EDIT_ yesno {ProcessCmdCVAR edit $2 CATEdit} | EXPORT_ writer STRING_ {TBLCmdSave $3 $2} | FILTER_ filter @@ -160,35 +160,35 @@ catCmd : coordinate | PRINT_ {ProcessCmdCVAR0 TBLCmdPrint} | PSKY_ skyframe {ProcessCmdCVAR psky $2 CATGenerate} | PSYSTEM_ wcssys {ProcessCmdCVAR psystem $2 CATGenerate} + | RADIUS_ numeric rformat {TBLCmdSize $2 $3} | REGIONS_ {ProcessCmdCVAR0 CATGenerateRegions} | RETRIEVE_ {global cvarname; CATApply $cvarname 1} | SAMP_ samp | SAVE_ STRING_ {TBLCmdSave $2 VOTWrite} | SERVER_ server {ProcessCmdCVAR server $2} | SHOW_ yesno {ProcessCmdCVAR show $2 CATGenerate} - | RADIUS_ numeric rformat {ProcessCmdCVAR3 radius $2 rformat $3 rformat,msg $3} # backward compatibility - | SIZE_ numeric numeric rformat {ProcessCmdCVAR3 radius [expr ($2+$3)/2.] rformat $4 rformat,msg $4} + | SIZE_ numeric numeric rformat {TBLCmdSize [expr ($2+$3)/2.] $4} | SKY_ skyframe {CatalogCmdSkyframe $2} | SKYFORMAT_ skyformat {ProcessCmdCVAR skyformat $2} | SORT_ sort | SYMBOL_ {ProcessCmdCVAR row 1} symbol | SYMBOL_ INT_ {CagtalogCmdCat row $2} symbol | SYSTEM_ wcssys {CatalogCmdSystem $2} - | UPDATE_ {ProcessCmdCVAR0 CATUpdate} + | UPDATE_ {ProcessCmdCVAR0 TBLUpdate} | 'x' STRING_ {ProcessCmdCVAR colx $2 CATGenerate} | RA_ STRING_ {ProcessCmdCVAR colx $2 CATGenerate} | 'y' STRING_ {ProcessCmdCVAR coly $2 CATGenerate} | DEC_ STRING_ {ProcessCmdCVAR coly $2 CATGenerate} ; -coordinate : numeric numeric {ProcessCmdCVAR3 x $1 y $2 sky fk5} - | numeric numeric skyframe {ProcessCmdCVAR3 x $1 y $2 sky $3} - | SEXSTR_ SEXSTR_ {ProcessCmdCVAR3 x $1 y $2 sky fk5} - | SEXSTR_ SEXSTR_ skyframe {ProcessCmdCVAR3 x $1 y $2 sky $3} +coordinate : numeric numeric {TBLCmdCoord $1 $2 fk5} + | numeric numeric skyframe {TBLCmdCoord $1 $2 $3} + | SEXSTR_ SEXSTR_ {TBLCmdCoord $1 $2 fk5} + | SEXSTR_ SEXSTR_ skyframe {TBLCmdCoord $1 $2 $3} ; -filter : LOAD_ STRING_ {CatalogCmdFilterLoad $2} +filter : LOAD_ STRING_ {TBLCmdFilterLoad $2} | STRING_ {ProcessCmdCVAR filter $1 CATTable} ; diff --git a/ds9/parsers/catparser.tcl b/ds9/parsers/catparser.tcl index 5e37f11..4deb97b 100644 --- a/ds9/parsers/catparser.tcl +++ b/ds9/parsers/catparser.tcl @@ -133,8 +133,8 @@ array set cat::table { 7:371,target 73 107:0 reduce 59:412,target 162 - 150:0,target 103 - 149:0,target 102 + 150:0,target 104 + 149:0,target 103 142:316 reduce 112:316,target 48 26:303,target 57 @@ -146,7 +146,7 @@ array set cat::table { 11:420,target 69 258:316,target 176 118:0,target 19 - 53:316,target 100 + 53:316,target 101 1:386,target 70 26:302 reduce 150:0 reduce @@ -205,7 +205,7 @@ array set cat::table { 170:335,target 206 169:335,target 113 77:0 reduce - 54:316,target 101 + 54:316,target 102 30:260,target 80 30:259,target 79 29:260,target 80 @@ -243,7 +243,7 @@ array set cat::table { 198:374,target 210 114:316,target 50 37:261 shift - 160:316,target 104 + 160:316,target 105 159:316,target 156 37:262 shift 215:316,target 259 @@ -279,7 +279,7 @@ array set cat::table { 143:0,target 44 115:316,target 51 60:308,target 115 - 161:316,target 105 + 161:316,target 106 70:344,target 37 10:333,target 32 216:316,target 112 @@ -297,7 +297,7 @@ array set cat::table { 85:0,target 84 212:435 goto 10:392,target 65 - 54:0,target 101 + 54:0,target 102 37:316 reduce 0:368,target 67 193:0 reduce @@ -560,7 +560,7 @@ array set cat::table { 7:356 reduce 7:357 reduce 11:315,target 28 - 192:0,target 106 + 192:0,target 100 4:385,target 16 7:358 reduce 26:309,target 57 @@ -572,7 +572,7 @@ array set cat::table { 215:316 shift 43:425 goto 7:362 reduce - 161:0,target 105 + 161:0,target 106 194:411 goto 138:0 reduce 57:399,target 156 @@ -1828,7 +1828,7 @@ array set cat::table { 111:0,target 47 1:346 reduce 10:344,target 37 - 192:316,target 106 + 192:316,target 100 1:349 reduce 12:356 reduce 247:316,target 180 @@ -1859,7 +1859,7 @@ array set cat::table { 211:326,target 246 1:359 reduce 12:366 reduce - 53:0,target 100 + 53:0,target 101 1:361 reduce 12:367 reduce 208:316 shift @@ -2001,8 +2001,8 @@ array set cat::table { 104:316,target 92 43:350,target 101 227:0 reduce - 150:316,target 103 - 149:316,target 102 + 150:316,target 104 + 149:316,target 103 64:293,target 135 28:315 shift 205:316,target 237 @@ -2142,7 +2142,7 @@ array set cat::table { 201:273 shift 201:274 shift 101:426,target 182 - 160:0,target 104 + 160:0,target 105 159:0,target 156 125:316 reduce 27:304,target 58 @@ -2556,7 +2556,7 @@ array set cat::rules { 179,dc 1 69,dc 1 70,dc 0 - 106,dc 3 + 106,dc 2 9,dc 1 172,dc 2 62,dc 1 @@ -2586,7 +2586,7 @@ array set cat::rules { 110,dc 2 175,dc 2 65,dc 2 - 102,dc 2 + 102,dc 1 5,dc 1 167,dc 2 57,dc 1 @@ -2703,7 +2703,7 @@ array set cat::rules { 107,dc 4 173,dc 2 63,dc 0 - 100,dc 1 + 100,dc 3 3,dc 1 165,dc 2 55,dc 1 @@ -2999,16 +2999,16 @@ array set cat::lr1_table { 51 {{118 {0 316} 1}} 46,trans {{257 77} {258 78} {259 79} {260 80} {261 81} {262 82} {403 107}} 65,trans {} - 52 {{106 {0 316} 1} {57 {309 310 311} 0} {58 {309 310 311} 0}} + 52 {{100 {0 316} 1} {57 {309 310 311} 0} {58 {309 310 311} 0}} 84,trans {} - 53 {{100 {0 316} 1}} - 54 {{101 {0 316} 1}} - 55 {{102 {0 316} 1} {145 {0 316} 0} {146 {0 316} 0} {147 {0 316} 0}} - 56 {{103 {0 316} 1}} + 53 {{101 {0 316} 1}} + 54 {{102 {0 316} 1}} + 55 {{103 {0 316} 1} {145 {0 316} 0} {146 {0 316} 0} {147 {0 316} 0}} + 56 {{104 {0 316} 1}} 116,trans {} - 57 {{104 {0 316} 1} {148 {0 316} 0} {149 {0 316} 0} {150 {0 316} 0} {151 {0 316} 0} {152 {0 316} 0} {153 {0 316} 0} {154 {0 316} 0} {155 {0 316} 0} {156 {0 316} 0}} + 57 {{105 {0 316} 1} {148 {0 316} 0} {149 {0 316} 0} {150 {0 316} 0} {151 {0 316} 0} {152 {0 316} 0} {153 {0 316} 0} {154 {0 316} 0} {155 {0 316} 0} {156 {0 316} 0}} 135,trans {} - 58 {{105 {0 316} 1} {1 {0 316} 0} {2 {0 316} 0} {3 {0 316} 0} {4 {0 316} 0} {5 {0 316} 0} {6 {0 316} 0} {7 {0 316} 0}} + 58 {{106 {0 316} 1} {1 {0 316} 0} {2 {0 316} 0} {3 {0 316} 0} {4 {0 316} 0} {5 {0 316} 0} {6 {0 316} 0} {7 {0 316} 0}} 154,trans {} 59 {{107 {0 316} 1} {57 {313 314} 0} {58 {313 314} 0}} 60 {{108 {0 316} 1} {45 {0 316} 0} {46 {0 316} 0} {47 {0 316} 0} {48 {0 316} 0} {49 {0 316} 0} {50 {0 316} 0} {51 {0 316} 0}} @@ -3234,14 +3234,14 @@ array set cat::lr1_table { 107,trans {} 147 {{58 {309 310 311} 1}} 126,trans {} - 148 {{106 {0 316} 2} {54 {0 316} 0} {55 {0 316} 0} {56 {0 316} 0}} + 148 {{100 {0 316} 2} {54 {0 316} 0} {55 {0 316} 0} {56 {0 316} 0}} 145,trans {} 150 {{147 {0 316} 1}} 149 {{146 {0 316} 1}} 164,trans {{313 146} {314 147} {412 198}} - 151 {{102 {0 316} 2}} + 151 {{103 {0 316} 2}} 183,trans {} - 152 {{103 {0 316} 2}} + 152 {{104 {0 316} 2}} 212,trans {{316 248}} 153 {{148 {0 316} 1}} 231,trans {} @@ -3262,8 +3262,8 @@ array set cat::lr1_table { 93,trans {} 161 {{156 {0 316} 1}} 4,trans {{340 14} {375 15} {385 16} {389 17} {393 18} {394 19} {428 20}} - 162 {{104 {0 316} 2}} - 163 {{105 {0 316} 2}} + 162 {{105 {0 316} 2}} + 163 {{106 {0 316} 2}} 106,trans {} 164 {{107 {0 316} 2} {57 {309 310 311} 0} {58 {309 310 311} 0}} 125,trans {} @@ -3336,7 +3336,7 @@ array set cat::lr1_table { 205 {{171 {0 316} 1} {13 {0 316} 0} {14 {0 316} 0}} 195 {{56 {0 316} 1}} 206 {{172 {0 316} 1} {15 {0 316} 0} {16 {0 316} 0} {17 {0 316} 0}} - 196 {{106 {0 316} 3}} + 196 {{100 {0 316} 3}} 207 {{170 {0 316} 1} {11 {0 316} 0} {12 {0 316} 0}} 197 {{147 {0 316} 2}} 104,trans {} @@ -4428,7 +4428,7 @@ proc cat::yyparse {} { 81 { ProcessCmdCVAR0 ARCancel } 82 { ProcessCmdCVAR0 CATOff } 83 { ProcessCmdCVAR0 CATDestroy } - 85 { ProcessCmdCVAR0 CATCrosshair } + 85 { ProcessCmdCVAR0 TBLCrosshair } 86 { ProcessCmdCVAR edit $2 CATEdit } 87 { TBLCmdSave $3 $2 } 89 { ProcessCmdCVAR0 CATHeader } @@ -4441,28 +4441,28 @@ proc cat::yyparse {} { 97 { ProcessCmdCVAR0 TBLCmdPrint } 98 { ProcessCmdCVAR psky $2 CATGenerate } 99 { ProcessCmdCVAR psystem $2 CATGenerate } - 100 { ProcessCmdCVAR0 CATGenerateRegions } - 101 { global cvarname; CATApply $cvarname 1 } - 103 { TBLCmdSave $2 VOTWrite } - 104 { ProcessCmdCVAR server $2 } - 105 { ProcessCmdCVAR show $2 CATGenerate } - 106 { ProcessCmdCVAR3 radius $2 rformat $3 rformat,msg $3 } - 107 { ProcessCmdCVAR3 radius [expr ($2+$3)/2.] rformat $4 rformat,msg $4 } + 100 { TBLCmdSize $2 $3 } + 101 { ProcessCmdCVAR0 CATGenerateRegions } + 102 { global cvarname; CATApply $cvarname 1 } + 104 { TBLCmdSave $2 VOTWrite } + 105 { ProcessCmdCVAR server $2 } + 106 { ProcessCmdCVAR show $2 CATGenerate } + 107 { TBLCmdSize [expr ($2+$3)/2.] $4 } 108 { CatalogCmdSkyframe $2 } 109 { ProcessCmdCVAR skyformat $2 } 111 { ProcessCmdCVAR row 1 } 113 { CagtalogCmdCat row $2 } 115 { CatalogCmdSystem $2 } - 116 { ProcessCmdCVAR0 CATUpdate } + 116 { ProcessCmdCVAR0 TBLUpdate } 117 { ProcessCmdCVAR colx $2 CATGenerate } 118 { ProcessCmdCVAR colx $2 CATGenerate } 119 { ProcessCmdCVAR coly $2 CATGenerate } 120 { ProcessCmdCVAR coly $2 CATGenerate } - 121 { ProcessCmdCVAR3 x $1 y $2 sky fk5 } - 122 { ProcessCmdCVAR3 x $1 y $2 sky $3 } - 123 { ProcessCmdCVAR3 x $1 y $2 sky fk5 } - 124 { ProcessCmdCVAR3 x $1 y $2 sky $3 } - 125 { CatalogCmdFilterLoad $2 } + 121 { TBLCmdCoord $1 $2 fk5 } + 122 { TBLCmdCoord $1 $2 $3 } + 123 { TBLCmdCoord $1 $2 fk5 } + 124 { TBLCmdCoord $1 $2 $3 } + 125 { TBLCmdFilterLoad $2 } 126 { ProcessCmdCVAR filter $1 CATTable } 127 { CatalogCmdMatch } 128 { ProcessCmdSet2 icat error $2 eformat $3 } diff --git a/ds9/parsers/fplex.fcl b/ds9/parsers/fplex.fcl index c161f14..4f6aead 100644 --- a/ds9/parsers/fplex.fcl +++ b/ds9/parsers/fplex.fcl @@ -12,15 +12,24 @@ clear {return $CLEAR_} close {return $CLOSE_} coordinate {return $COORDINATE_} crosshair {return $CROSSHAIR_} +decr {return $DECR_} export {return $EXPORT_} +filter {return $FILTER_} +hide {return $HIDE_} +incr {return $INCR_} +load {return $LOAD_} name {return $NAME_} +panto {return $PANTO_} print {return $PRINT_} radius {return $RADIUS_} +regions {return $REGIONS_} retrieve {return $RETRIEVE_} save {return $SAVE_} +show {return $SHOW_} size {return $SIZE_} sky {return $SKY_} skyformat {return $SKYFORMAT_} +sort {return $SORT_} system {return $SYSTEM_} update {return $UPDATE_} @@ -34,6 +43,7 @@ starbase {return $STARBASE_} csv {return $CSV_} tsv {return $TSV_} +#include yesno.fin #include wcssys.fin #include skyframe.fin #include wcsformat.fin diff --git a/ds9/parsers/fplex.tcl b/ds9/parsers/fplex.tcl index 4b1371b..69aec89 100644 --- a/ds9/parsers/fplex.tcl +++ b/ds9/parsers/fplex.tcl @@ -179,72 +179,87 @@ proc fp::yylex {} { variable done_ variable state_table_ -set WCS_ 257 -set WCSA_ 258 -set WCSB_ 259 -set WCSC_ 260 -set WCSD_ 261 -set WCSE_ 262 -set WCSF_ 263 -set WCSG_ 264 -set WCSH_ 265 -set WCSI_ 266 -set WCSJ_ 267 -set WCSK_ 268 -set WCSL_ 269 -set WCSM_ 270 -set WCSN_ 271 -set WCSO_ 272 -set WCSP_ 273 -set WCSQ_ 274 -set WCSR_ 275 -set WCSS_ 276 -set WCST_ 277 -set WCSU_ 278 -set WCSV_ 279 -set WCSW_ 280 -set WCSX_ 281 -set WCSY_ 282 -set WCSZ_ 283 -set FK4_ 284 -set B1950_ 285 -set FK5_ 286 -set J2000_ 287 -set ICRS_ 288 -set GALACTIC_ 289 -set ECLIPTIC_ 290 -set DEGREES_ 291 -set ARCMIN_ 292 -set ARCSEC_ 293 -set SEXAGESIMAL_ 294 -set INT_ 295 -set REAL_ 296 -set SEXSTR_ 297 -set STRING_ 298 -set CANCEL_ 299 -set CLEAR_ 300 -set CLOSE_ 301 -set COORDINATE_ 302 -set CROSSHAIR_ 303 -set EXPORT_ 304 -set NAME_ 305 -set PRINT_ 306 -set RADIUS_ 307 -set RETRIEVE_ 308 -set SAVE_ 309 -set SIZE_ 310 -set SKY_ 311 -set SKYFORMAT_ 312 -set SYSTEM_ 313 -set UPDATE_ 314 -set CXC_ 315 -set HLA_ 316 -set XML_ 317 -set VOT_ 318 -set SB_ 319 -set STARBASE_ 320 -set CSV_ 321 -set TSV_ 322 +set YES_ 257 +set NO_ 258 +set ON_ 259 +set OFF_ 260 +set TRUE_ 261 +set FALSE_ 262 +set WCS_ 263 +set WCSA_ 264 +set WCSB_ 265 +set WCSC_ 266 +set WCSD_ 267 +set WCSE_ 268 +set WCSF_ 269 +set WCSG_ 270 +set WCSH_ 271 +set WCSI_ 272 +set WCSJ_ 273 +set WCSK_ 274 +set WCSL_ 275 +set WCSM_ 276 +set WCSN_ 277 +set WCSO_ 278 +set WCSP_ 279 +set WCSQ_ 280 +set WCSR_ 281 +set WCSS_ 282 +set WCST_ 283 +set WCSU_ 284 +set WCSV_ 285 +set WCSW_ 286 +set WCSX_ 287 +set WCSY_ 288 +set WCSZ_ 289 +set FK4_ 290 +set B1950_ 291 +set FK5_ 292 +set J2000_ 293 +set ICRS_ 294 +set GALACTIC_ 295 +set ECLIPTIC_ 296 +set DEGREES_ 297 +set ARCMIN_ 298 +set ARCSEC_ 299 +set SEXAGESIMAL_ 300 +set INT_ 301 +set REAL_ 302 +set SEXSTR_ 303 +set STRING_ 304 +set CANCEL_ 305 +set CLEAR_ 306 +set CLOSE_ 307 +set COORDINATE_ 308 +set CROSSHAIR_ 309 +set DECR_ 310 +set EXPORT_ 311 +set FILTER_ 312 +set HIDE_ 313 +set INCR_ 314 +set LOAD_ 315 +set NAME_ 316 +set PANTO_ 317 +set PRINT_ 318 +set RADIUS_ 319 +set REGIONS_ 320 +set RETRIEVE_ 321 +set SAVE_ 322 +set SHOW_ 323 +set SIZE_ 324 +set SKY_ 325 +set SKYFORMAT_ 326 +set SORT_ 327 +set SYSTEM_ 328 +set UPDATE_ 329 +set CXC_ 330 +set HLA_ 331 +set XML_ 332 +set VOT_ 333 +set SB_ 334 +set STARBASE_ 335 +set CSV_ 336 +set TSV_ 337 while {1} { if {[string length $yy_current_buffer] - $index_ < 1024} { @@ -301,482 +316,587 @@ set TSV_ 322 set yyleng [string length $yytext] set matched_rule 4 } - # rule 5: export - if {[regexp -start $index_ -indices -line -nocase -- {\A(export)} $yy_current_buffer match] > 0 && \ + # rule 5: decr + if {[regexp -start $index_ -indices -line -nocase -- {\A(decr)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 5 } - # rule 6: name - if {[regexp -start $index_ -indices -line -nocase -- {\A(name)} $yy_current_buffer match] > 0 && \ + # rule 6: export + if {[regexp -start $index_ -indices -line -nocase -- {\A(export)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 6 } - # rule 7: print - if {[regexp -start $index_ -indices -line -nocase -- {\A(print)} $yy_current_buffer match] > 0 && \ + # rule 7: filter + if {[regexp -start $index_ -indices -line -nocase -- {\A(filter)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 7 } - # rule 8: radius - if {[regexp -start $index_ -indices -line -nocase -- {\A(radius)} $yy_current_buffer match] > 0 && \ + # rule 8: hide + if {[regexp -start $index_ -indices -line -nocase -- {\A(hide)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 8 } - # rule 9: retrieve - if {[regexp -start $index_ -indices -line -nocase -- {\A(retrieve)} $yy_current_buffer match] > 0 && \ + # rule 9: incr + if {[regexp -start $index_ -indices -line -nocase -- {\A(incr)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 9 } - # rule 10: save - if {[regexp -start $index_ -indices -line -nocase -- {\A(save)} $yy_current_buffer match] > 0 && \ + # rule 10: load + if {[regexp -start $index_ -indices -line -nocase -- {\A(load)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 10 } - # rule 11: size - if {[regexp -start $index_ -indices -line -nocase -- {\A(size)} $yy_current_buffer match] > 0 && \ + # rule 11: name + if {[regexp -start $index_ -indices -line -nocase -- {\A(name)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 11 } - # rule 12: sky - if {[regexp -start $index_ -indices -line -nocase -- {\A(sky)} $yy_current_buffer match] > 0 && \ + # rule 12: panto + if {[regexp -start $index_ -indices -line -nocase -- {\A(panto)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 12 } - # rule 13: skyformat - if {[regexp -start $index_ -indices -line -nocase -- {\A(skyformat)} $yy_current_buffer match] > 0 && \ + # rule 13: print + if {[regexp -start $index_ -indices -line -nocase -- {\A(print)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 13 } - # rule 14: system - if {[regexp -start $index_ -indices -line -nocase -- {\A(system)} $yy_current_buffer match] > 0 && \ + # rule 14: radius + if {[regexp -start $index_ -indices -line -nocase -- {\A(radius)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 14 } - # rule 15: update - if {[regexp -start $index_ -indices -line -nocase -- {\A(update)} $yy_current_buffer match] > 0 && \ + # rule 15: regions + if {[regexp -start $index_ -indices -line -nocase -- {\A(regions)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 15 } - # rule 16: cxc - if {[regexp -start $index_ -indices -line -nocase -- {\A(cxc)} $yy_current_buffer match] > 0 && \ + # rule 16: retrieve + if {[regexp -start $index_ -indices -line -nocase -- {\A(retrieve)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 16 } - # rule 17: hla - if {[regexp -start $index_ -indices -line -nocase -- {\A(hla)} $yy_current_buffer match] > 0 && \ + # rule 17: save + if {[regexp -start $index_ -indices -line -nocase -- {\A(save)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 17 } - # rule 18: xml - if {[regexp -start $index_ -indices -line -nocase -- {\A(xml)} $yy_current_buffer match] > 0 && \ + # rule 18: show + if {[regexp -start $index_ -indices -line -nocase -- {\A(show)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 18 } - # rule 19: vot - if {[regexp -start $index_ -indices -line -nocase -- {\A(vot)} $yy_current_buffer match] > 0 && \ + # rule 19: size + if {[regexp -start $index_ -indices -line -nocase -- {\A(size)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 19 } - # rule 20: sb - if {[regexp -start $index_ -indices -line -nocase -- {\A(sb)} $yy_current_buffer match] > 0 && \ + # rule 20: sky + if {[regexp -start $index_ -indices -line -nocase -- {\A(sky)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 20 } - # rule 21: starbase - if {[regexp -start $index_ -indices -line -nocase -- {\A(starbase)} $yy_current_buffer match] > 0 && \ + # rule 21: skyformat + if {[regexp -start $index_ -indices -line -nocase -- {\A(skyformat)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 21 } - # rule 22: csv - if {[regexp -start $index_ -indices -line -nocase -- {\A(csv)} $yy_current_buffer match] > 0 && \ + # rule 22: sort + if {[regexp -start $index_ -indices -line -nocase -- {\A(sort)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 22 } - # rule 23: tsv - if {[regexp -start $index_ -indices -line -nocase -- {\A(tsv)} $yy_current_buffer match] > 0 && \ + # rule 23: system + if {[regexp -start $index_ -indices -line -nocase -- {\A(system)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 23 } - # rule 24: wcs - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcs)} $yy_current_buffer match] > 0 && \ + # rule 24: update + if {[regexp -start $index_ -indices -line -nocase -- {\A(update)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 24 } - # rule 25: wcsa - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsa)} $yy_current_buffer match] > 0 && \ + # rule 25: cxc + if {[regexp -start $index_ -indices -line -nocase -- {\A(cxc)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 25 } - # rule 26: wcsb - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsb)} $yy_current_buffer match] > 0 && \ + # rule 26: hla + if {[regexp -start $index_ -indices -line -nocase -- {\A(hla)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 26 } - # rule 27: wcsc - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsc)} $yy_current_buffer match] > 0 && \ + # rule 27: xml + if {[regexp -start $index_ -indices -line -nocase -- {\A(xml)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 27 } - # rule 28: wcsd - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsd)} $yy_current_buffer match] > 0 && \ + # rule 28: vot + if {[regexp -start $index_ -indices -line -nocase -- {\A(vot)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 28 } - # rule 29: wcse - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcse)} $yy_current_buffer match] > 0 && \ + # rule 29: sb + if {[regexp -start $index_ -indices -line -nocase -- {\A(sb)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 29 } - # rule 30: wcsf - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsf)} $yy_current_buffer match] > 0 && \ + # rule 30: starbase + if {[regexp -start $index_ -indices -line -nocase -- {\A(starbase)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 30 } - # rule 31: wcsg - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsg)} $yy_current_buffer match] > 0 && \ + # rule 31: csv + if {[regexp -start $index_ -indices -line -nocase -- {\A(csv)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 31 } - # rule 32: wcsh - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsh)} $yy_current_buffer match] > 0 && \ + # rule 32: tsv + if {[regexp -start $index_ -indices -line -nocase -- {\A(tsv)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 32 } - # rule 33: wcsi - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsi)} $yy_current_buffer match] > 0 && \ + # rule 33: yes + if {[regexp -start $index_ -indices -line -nocase -- {\A(yes)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 33 } - # rule 34: wcsj - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsj)} $yy_current_buffer match] > 0 && \ + # rule 34: no + if {[regexp -start $index_ -indices -line -nocase -- {\A(no)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 34 } - # rule 35: wcsk - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsk)} $yy_current_buffer match] > 0 && \ + # rule 35: on + if {[regexp -start $index_ -indices -line -nocase -- {\A(on)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 35 } - # rule 36: wcsl - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsl)} $yy_current_buffer match] > 0 && \ + # rule 36: off + if {[regexp -start $index_ -indices -line -nocase -- {\A(off)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 36 } - # rule 37: wcsm - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsm)} $yy_current_buffer match] > 0 && \ + # rule 37: true + if {[regexp -start $index_ -indices -line -nocase -- {\A(true)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 37 } - # rule 38: wcsn - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsn)} $yy_current_buffer match] > 0 && \ + # rule 38: false + if {[regexp -start $index_ -indices -line -nocase -- {\A(false)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 38 } - # rule 39: wcso - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcso)} $yy_current_buffer match] > 0 && \ + # rule 39: wcs + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcs)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 39 } - # rule 40: wcsp - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsp)} $yy_current_buffer match] > 0 && \ + # rule 40: wcsa + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsa)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 40 } - # rule 41: wcsq - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsq)} $yy_current_buffer match] > 0 && \ + # rule 41: wcsb + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsb)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 41 } - # rule 42: wcsr - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsr)} $yy_current_buffer match] > 0 && \ + # rule 42: wcsc + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsc)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 42 } - # rule 43: wcss - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcss)} $yy_current_buffer match] > 0 && \ + # rule 43: wcsd + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsd)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 43 } - # rule 44: wcst - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcst)} $yy_current_buffer match] > 0 && \ + # rule 44: wcse + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcse)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 44 } - # rule 45: wcsu - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsu)} $yy_current_buffer match] > 0 && \ + # rule 45: wcsf + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsf)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 45 } - # rule 46: wcsv - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsv)} $yy_current_buffer match] > 0 && \ + # rule 46: wcsg + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsg)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 46 } - # rule 47: wcsw - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsw)} $yy_current_buffer match] > 0 && \ + # rule 47: wcsh + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsh)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 47 } - # rule 48: wcsx - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsx)} $yy_current_buffer match] > 0 && \ + # rule 48: wcsi + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsi)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 48 } - # rule 49: wcsy - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsy)} $yy_current_buffer match] > 0 && \ + # rule 49: wcsj + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsj)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 49 } - # rule 50: wcsz - if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsz)} $yy_current_buffer match] > 0 && \ + # rule 50: wcsk + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsk)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 50 } - # rule 51: fk4 - if {[regexp -start $index_ -indices -line -nocase -- {\A(fk4)} $yy_current_buffer match] > 0 && \ + # rule 51: wcsl + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsl)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 51 } - # rule 52: b1950 - if {[regexp -start $index_ -indices -line -nocase -- {\A(b1950)} $yy_current_buffer match] > 0 && \ + # rule 52: wcsm + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsm)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 52 } - # rule 53: fk5 - if {[regexp -start $index_ -indices -line -nocase -- {\A(fk5)} $yy_current_buffer match] > 0 && \ + # rule 53: wcsn + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsn)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 53 } - # rule 54: j2000 - if {[regexp -start $index_ -indices -line -nocase -- {\A(j2000)} $yy_current_buffer match] > 0 && \ + # rule 54: wcso + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcso)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 54 } - # rule 55: icrs - if {[regexp -start $index_ -indices -line -nocase -- {\A(icrs)} $yy_current_buffer match] > 0 && \ + # rule 55: wcsp + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsp)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 55 } - # rule 56: galactic - if {[regexp -start $index_ -indices -line -nocase -- {\A(galactic)} $yy_current_buffer match] > 0 && \ + # rule 56: wcsq + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsq)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 56 } - # rule 57: ecliptic - if {[regexp -start $index_ -indices -line -nocase -- {\A(ecliptic)} $yy_current_buffer match] > 0 && \ + # rule 57: wcsr + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsr)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 57 } - # rule 58: degrees - if {[regexp -start $index_ -indices -line -nocase -- {\A(degrees)} $yy_current_buffer match] > 0 && \ + # rule 58: wcss + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcss)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 58 } - # rule 59: arcmin - if {[regexp -start $index_ -indices -line -nocase -- {\A(arcmin)} $yy_current_buffer match] > 0 && \ + # rule 59: wcst + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcst)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 59 } - # rule 60: arcsec - if {[regexp -start $index_ -indices -line -nocase -- {\A(arcsec)} $yy_current_buffer match] > 0 && \ + # rule 60: wcsu + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsu)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 60 } - # rule 61: sexagesimal - if {[regexp -start $index_ -indices -line -nocase -- {\A(sexagesimal)} $yy_current_buffer match] > 0 && \ + # rule 61: wcsv + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsv)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 61 } - # rule 62: [+-]?{D}+ - if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+)} $yy_current_buffer match] > 0 && \ + # rule 62: wcsw + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsw)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 62 } - # rule 63: [+-]?{D}+\.?({E})? - if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+\.?(([Ee][+-]?([0-9])+))?)} $yy_current_buffer match] > 0 && \ + # rule 63: wcsx + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsx)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 63 } - # rule 64: [+-]?{D}*\.{D}+({E})? - if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])*\.([0-9])+(([Ee][+-]?([0-9])+))?)} $yy_current_buffer match] > 0 && \ + # rule 64: wcsy + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsy)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 64 } - # rule 65: [+-]?{D}+:{D}+:{D}+\.? - if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+:([0-9])+:([0-9])+\.?)} $yy_current_buffer match] > 0 && \ + # rule 65: wcsz + if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsz)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 65 } - # rule 66: [+-]?{D}+:{D}+:{D}*\.{D}+ - if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+:([0-9])+:([0-9])*\.([0-9])+)} $yy_current_buffer match] > 0 && \ + # rule 66: fk4 + if {[regexp -start $index_ -indices -line -nocase -- {\A(fk4)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 66 } - # rule 67: \"[^\"]*\" - if {[regexp -start $index_ -indices -line -nocase -- {\A(\"[^\"]*\")} $yy_current_buffer match] > 0 && \ + # rule 67: b1950 + if {[regexp -start $index_ -indices -line -nocase -- {\A(b1950)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 67 } - # rule 68: \'[^\']*\' - if {[regexp -start $index_ -indices -line -nocase -- {\A(\'[^\']*\')} $yy_current_buffer match] > 0 && \ + # rule 68: fk5 + if {[regexp -start $index_ -indices -line -nocase -- {\A(fk5)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 68 } - # rule 69: \{[^\}]*\} - if {[regexp -start $index_ -indices -line -nocase -- {\A(\{[^\}]*\})} $yy_current_buffer match] > 0 && \ + # rule 69: j2000 + if {[regexp -start $index_ -indices -line -nocase -- {\A(j2000)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 69 } - # rule 70: \S+\S+ - if {[regexp -start $index_ -indices -line -nocase -- {\A(\S+\S+)} $yy_current_buffer match] > 0 && \ + # rule 70: icrs + if {[regexp -start $index_ -indices -line -nocase -- {\A(icrs)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 70 } - # rule 71: \s - if {[regexp -start $index_ -indices -line -nocase -- {\A(\s)} $yy_current_buffer match] > 0 && \ + # rule 71: galactic + if {[regexp -start $index_ -indices -line -nocase -- {\A(galactic)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 71 } - # rule 72: . - if {[regexp -start $index_ -indices -line -nocase -- {\A(.)} $yy_current_buffer match] > 0 && \ + # rule 72: ecliptic + if {[regexp -start $index_ -indices -line -nocase -- {\A(ecliptic)} $yy_current_buffer match] > 0 && \ [lindex $match 1] - $index_ + 1 > $yyleng} { set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] set yyleng [string length $yytext] set matched_rule 72 } + # rule 73: degrees + if {[regexp -start $index_ -indices -line -nocase -- {\A(degrees)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 73 + } + # rule 74: arcmin + if {[regexp -start $index_ -indices -line -nocase -- {\A(arcmin)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 74 + } + # rule 75: arcsec + if {[regexp -start $index_ -indices -line -nocase -- {\A(arcsec)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 75 + } + # rule 76: sexagesimal + if {[regexp -start $index_ -indices -line -nocase -- {\A(sexagesimal)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 76 + } + # rule 77: [+-]?{D}+ + if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 77 + } + # rule 78: [+-]?{D}+\.?({E})? + if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+\.?(([Ee][+-]?([0-9])+))?)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 78 + } + # rule 79: [+-]?{D}*\.{D}+({E})? + if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])*\.([0-9])+(([Ee][+-]?([0-9])+))?)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 79 + } + # rule 80: [+-]?{D}+:{D}+:{D}+\.? + if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+:([0-9])+:([0-9])+\.?)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 80 + } + # rule 81: [+-]?{D}+:{D}+:{D}*\.{D}+ + if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+:([0-9])+:([0-9])*\.([0-9])+)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 81 + } + # rule 82: \"[^\"]*\" + if {[regexp -start $index_ -indices -line -nocase -- {\A(\"[^\"]*\")} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 82 + } + # rule 83: \'[^\']*\' + if {[regexp -start $index_ -indices -line -nocase -- {\A(\'[^\']*\')} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 83 + } + # rule 84: \{[^\}]*\} + if {[regexp -start $index_ -indices -line -nocase -- {\A(\{[^\}]*\})} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 84 + } + # rule 85: \S+\S+ + if {[regexp -start $index_ -indices -line -nocase -- {\A(\S+\S+)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 85 + } + # rule 86: \s + if {[regexp -start $index_ -indices -line -nocase -- {\A(\s)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 86 + } + # rule 87: . + if {[regexp -start $index_ -indices -line -nocase -- {\A(.)} $yy_current_buffer match] > 0 && \ + [lindex $match 1] - $index_ + 1 > $yyleng} { + set yytext [string range $yy_current_buffer $index_ [lindex $match 1]] + set yyleng [string length $yytext] + set matched_rule 87 + } if {$matched_rule == -1} { set yytext [string index $yy_current_buffer $index_] set yyleng 1 @@ -805,203 +925,248 @@ return $COORDINATE_ return $CROSSHAIR_ } 5 { -return $EXPORT_ +return $DECR_ } 6 { -return $NAME_ +return $EXPORT_ } 7 { -return $PRINT_ +return $FILTER_ } 8 { -return $RADIUS_ +return $HIDE_ } 9 { -return $RETRIEVE_ +return $INCR_ } 10 { -return $SAVE_ +return $LOAD_ } 11 { -return $SIZE_ +return $NAME_ } 12 { -return $SKY_ +return $PANTO_ } 13 { -return $SKYFORMAT_ +return $PRINT_ } 14 { -return $SYSTEM_ +return $RADIUS_ } 15 { -return $UPDATE_ +return $REGIONS_ } 16 { -return $CXC_ +return $RETRIEVE_ } 17 { -return $HLA_ +return $SAVE_ } 18 { -return $XML_ +return $SHOW_ } 19 { -return $VOT_ +return $SIZE_ } 20 { -return $SB_ +return $SKY_ } 21 { -return $STARBASE_ +return $SKYFORMAT_ } 22 { -return $CSV_ +return $SORT_ } 23 { -return $TSV_ +return $SYSTEM_ } 24 { -return $WCS_ +return $UPDATE_ } 25 { -return $WCSA_ +return $CXC_ } 26 { -return $WCSB_ +return $HLA_ } 27 { -return $WCSC_ +return $XML_ } 28 { -return $WCSD_ +return $VOT_ } 29 { -return $WCSE_ +return $SB_ } 30 { -return $WCSF_ +return $STARBASE_ } 31 { -return $WCSG_ +return $CSV_ } 32 { -return $WCSH_ +return $TSV_ } 33 { -return $WCSI_ +return $YES_ } 34 { -return $WCSJ_ +return $NO_ } 35 { -return $WCSK_ +return $ON_ } 36 { -return $WCSL_ +return $OFF_ } 37 { -return $WCSM_ +return $TRUE_ } 38 { -return $WCSN_ +return $FALSE_ } 39 { -return $WCSO_ +return $WCS_ } 40 { -return $WCSP_ +return $WCSA_ } 41 { -return $WCSQ_ +return $WCSB_ } 42 { -return $WCSR_ +return $WCSC_ } 43 { -return $WCSS_ +return $WCSD_ } 44 { -return $WCST_ +return $WCSE_ } 45 { -return $WCSU_ +return $WCSF_ } 46 { -return $WCSV_ +return $WCSG_ } 47 { -return $WCSW_ +return $WCSH_ } 48 { -return $WCSX_ +return $WCSI_ } 49 { -return $WCSY_ +return $WCSJ_ } 50 { -return $WCSZ_ +return $WCSK_ } 51 { -return $FK4_ +return $WCSL_ } 52 { -return $FK4_ +return $WCSM_ } 53 { -return $FK5_ +return $WCSN_ } 54 { -return $FK5_ +return $WCSO_ } 55 { -return $ICRS_ +return $WCSP_ } 56 { -return $GALACTIC_ +return $WCSQ_ } 57 { -return $ECLIPTIC_ +return $WCSR_ } 58 { -return $DEGREES_ +return $WCSS_ } 59 { -return $ARCMIN_ +return $WCST_ } 60 { -return $ARCSEC_ +return $WCSU_ } 61 { -return $SEXAGESIMAL_ +return $WCSV_ } 62 { -set yylval $yytext; return $INT_ +return $WCSW_ + } + 63 { +return $WCSX_ } - 63 - 64 { -set yylval $yytext; return $REAL_ +return $WCSY_ + } + 65 { +return $WCSZ_ } - 65 - 66 { -set yylval $yytext; return $SEXSTR_ +return $FK4_ } 67 { -set yylval [string range $yytext 1 end-1]; return $STRING_ +return $FK4_ } 68 { -set yylval [string range $yytext 1 end-1]; return $STRING_ +return $FK5_ } 69 { -set yylval [string range $yytext 1 end-1]; return $STRING_ +return $FK5_ } 70 { -set yylval $yytext; return $STRING_ +return $ICRS_ } 71 { -# ignore whitespace +return $GALACTIC_ } 72 { +return $ECLIPTIC_ + } + 73 { +return $DEGREES_ + } + 74 { +return $ARCMIN_ + } + 75 { +return $ARCSEC_ + } + 76 { +return $SEXAGESIMAL_ + } + 77 { +set yylval $yytext; return $INT_ + } + 78 - + 79 { +set yylval $yytext; return $REAL_ + } + 80 - + 81 { +set yylval $yytext; return $SEXSTR_ + } + 82 { +set yylval [string range $yytext 1 end-1]; return $STRING_ + } + 83 { +set yylval [string range $yytext 1 end-1]; return $STRING_ + } + 84 { +set yylval [string range $yytext 1 end-1]; return $STRING_ + } + 85 { +set yylval $yytext; return $STRING_ + } + 86 { +# ignore whitespace + } + 87 { set yylval $yytext; return $yylval } default diff --git a/ds9/parsers/fpparser.tab.tcl b/ds9/parsers/fpparser.tab.tcl index af1ab47..5c1c2e3 100644 --- a/ds9/parsers/fpparser.tab.tcl +++ b/ds9/parsers/fpparser.tab.tcl @@ -1,66 +1,81 @@ -set WCS_ 257 -set WCSA_ 258 -set WCSB_ 259 -set WCSC_ 260 -set WCSD_ 261 -set WCSE_ 262 -set WCSF_ 263 -set WCSG_ 264 -set WCSH_ 265 -set WCSI_ 266 -set WCSJ_ 267 -set WCSK_ 268 -set WCSL_ 269 -set WCSM_ 270 -set WCSN_ 271 -set WCSO_ 272 -set WCSP_ 273 -set WCSQ_ 274 -set WCSR_ 275 -set WCSS_ 276 -set WCST_ 277 -set WCSU_ 278 -set WCSV_ 279 -set WCSW_ 280 -set WCSX_ 281 -set WCSY_ 282 -set WCSZ_ 283 -set FK4_ 284 -set B1950_ 285 -set FK5_ 286 -set J2000_ 287 -set ICRS_ 288 -set GALACTIC_ 289 -set ECLIPTIC_ 290 -set DEGREES_ 291 -set ARCMIN_ 292 -set ARCSEC_ 293 -set SEXAGESIMAL_ 294 -set INT_ 295 -set REAL_ 296 -set SEXSTR_ 297 -set STRING_ 298 -set CANCEL_ 299 -set CLEAR_ 300 -set CLOSE_ 301 -set COORDINATE_ 302 -set CROSSHAIR_ 303 -set EXPORT_ 304 -set NAME_ 305 -set PRINT_ 306 -set RADIUS_ 307 -set RETRIEVE_ 308 -set SAVE_ 309 -set SIZE_ 310 -set SKY_ 311 -set SKYFORMAT_ 312 -set SYSTEM_ 313 -set UPDATE_ 314 -set CXC_ 315 -set HLA_ 316 -set XML_ 317 -set VOT_ 318 -set SB_ 319 -set STARBASE_ 320 -set CSV_ 321 -set TSV_ 322 +set YES_ 257 +set NO_ 258 +set ON_ 259 +set OFF_ 260 +set TRUE_ 261 +set FALSE_ 262 +set WCS_ 263 +set WCSA_ 264 +set WCSB_ 265 +set WCSC_ 266 +set WCSD_ 267 +set WCSE_ 268 +set WCSF_ 269 +set WCSG_ 270 +set WCSH_ 271 +set WCSI_ 272 +set WCSJ_ 273 +set WCSK_ 274 +set WCSL_ 275 +set WCSM_ 276 +set WCSN_ 277 +set WCSO_ 278 +set WCSP_ 279 +set WCSQ_ 280 +set WCSR_ 281 +set WCSS_ 282 +set WCST_ 283 +set WCSU_ 284 +set WCSV_ 285 +set WCSW_ 286 +set WCSX_ 287 +set WCSY_ 288 +set WCSZ_ 289 +set FK4_ 290 +set B1950_ 291 +set FK5_ 292 +set J2000_ 293 +set ICRS_ 294 +set GALACTIC_ 295 +set ECLIPTIC_ 296 +set DEGREES_ 297 +set ARCMIN_ 298 +set ARCSEC_ 299 +set SEXAGESIMAL_ 300 +set INT_ 301 +set REAL_ 302 +set SEXSTR_ 303 +set STRING_ 304 +set CANCEL_ 305 +set CLEAR_ 306 +set CLOSE_ 307 +set COORDINATE_ 308 +set CROSSHAIR_ 309 +set DECR_ 310 +set EXPORT_ 311 +set FILTER_ 312 +set HIDE_ 313 +set INCR_ 314 +set LOAD_ 315 +set NAME_ 316 +set PANTO_ 317 +set PRINT_ 318 +set RADIUS_ 319 +set REGIONS_ 320 +set RETRIEVE_ 321 +set SAVE_ 322 +set SHOW_ 323 +set SIZE_ 324 +set SKY_ 325 +set SKYFORMAT_ 326 +set SORT_ 327 +set SYSTEM_ 328 +set UPDATE_ 329 +set CXC_ 330 +set HLA_ 331 +set XML_ 332 +set VOT_ 333 +set SB_ 334 +set STARBASE_ 335 +set CSV_ 336 +set TSV_ 337 diff --git a/ds9/parsers/fpparser.tac b/ds9/parsers/fpparser.tac index c4ec51b..0ac17f2 100644 --- a/ds9/parsers/fpparser.tac +++ b/ds9/parsers/fpparser.tac @@ -2,6 +2,7 @@ %} #include def.tin +#include yesno.tin #include wcssys.tin #include skyframe.tin #include wcsformat.tin @@ -16,15 +17,24 @@ %token CLOSE_ %token COORDINATE_ %token CROSSHAIR_ +%token DECR_ %token EXPORT_ +%token FILTER_ +%token HIDE_ +%token INCR_ +%token LOAD_ %token NAME_ +%token PANTO_ %token PRINT_ %token RADIUS_ +%token REGIONS_ %token RETRIEVE_ %token SAVE_ +%token SHOW_ %token SIZE_ %token SKY_ %token SKYFORMAT_ +%token SORT_ %token SYSTEM_ %token UPDATE_ @@ -40,6 +50,7 @@ %% +#include yesno.trl #include wcssys.trl #include skyframe.trl #include wcsformat.trl @@ -55,22 +66,28 @@ fp : {if {![FPCmdCheck]} {fp::YYABORT}} fpCmd ; fpCmd : CANCEL_ {ProcessCmdCVAR0 ARCancel} - | CLOSE_ {ProcessCmdCVAR0 FPDestroy} | CLEAR_ {ProcessCmdCVAR0 FPOff} + | CLOSE_ {ProcessCmdCVAR0 FPDestroy} | COORDINATE_ coordinate - | CROSSHAIR_ {ProcessCmdCVAR0 IMGSVRCrosshair} + | CROSSHAIR_ {ProcessCmdCVAR0 TBLCrosshair} | EXPORT_ writer STRING_ {TBLCmdSave $3 $2} - | SAVE_ STRING_ {TBLCmdSave $2 VOTWrite} + | FILTER_ filter + | HIDE_ {ProcessCmdCVAR show 0 FPGenerate} | NAME_ STRING_ {ProcessCmdCVAR name $2} + | PANTO_ yesno {ProcessCmdCVAR panto $2} | PRINT_ {ProcessCmdCVAR0 TBLCmdPrint} - | RETRIEVE_ {global cvarname; FPApply $cvarname 1} | RADIUS_ numeric rformat {TBLCmdSize $2 $3} + | REGIONS_ {ProcessCmdCVAR0 FPGenerateRegions} + | RETRIEVE_ {global cvarname; FPApply $cvarname 1} + | SAVE_ STRING_ {TBLCmdSave $2 VOTWrite} + | SHOW_ yesno {ProcessCmdCVAR show $2 FPGenerate} # backward compatibily | SIZE_ numeric numeric rformat {TBLCmdSize [expr ($2+$3)/2.] $4} | SKY_ skyframe {TBLCmdSkyframe $2} | SKYFORMAT_ skyformat {ProcessCmdCVAR skyformat $2} + | SORT_ sort | SYSTEM_ wcssys {TBLCmdSystem $2} - | UPDATE_ {ProcessCVAR0 IMGSVRUpdate} + | UPDATE_ {ProcessCVAR0 TBLUpdate} ; coordinate : numeric numeric {TBLCmdCoord $1 $2 fk5} @@ -79,10 +96,22 @@ coordinate : numeric numeric {TBLCmdCoord $1 $2 fk5} | SEXSTR_ SEXSTR_ skyframe {TBLCmdCoord $1 $2 $3} ; +filter : LOAD_ STRING_ {TBLCmdFilterLoad $2} + | STRING_ {ProcessCmdCVAR filter $1 FPTable} + ; + site : CXC_ {set _ cxc} | HLA_ {set _ hla} ; +sort : STRING_ {ProcessCmdCVAR sort $1; ProcessCmdCVAR sort,dir "-increasing" FPTable} + | STRING_ sortDir {ProcessCmdCVAR sort $1; ProcessCmdCVAR sort,dir $2 FPTable} + ; + +sortDir : INCR_ {set _ "-increasing"} + | DECR_ {set _ "-decreasing"} + ; + writer : XML_ {set _ VOTWrite} | VOT_ {set _ VOTWrite} | SB_ {set _ starbase_write} diff --git a/ds9/parsers/fpparser.tcl b/ds9/parsers/fpparser.tcl index c69ac7d..f061b47 100644 --- a/ds9/parsers/fpparser.tcl +++ b/ds9/parsers/fpparser.tcl @@ -61,1511 +61,1888 @@ proc fp::unsetupvalues {numsyms} { } array set fp::table { - 90:292 shift - 13:322,target 37 - 12:298 reduce - 1:302 reduce - 90:293 shift - 21:291 shift - 11:334,target 31 - 1:303 reduce - 1:304 reduce - 51:298 reduce - 27:0 reduce - 1:305 reduce - 1:311,target 70 - 66:298,target 13 - 21:294 shift - 1:306 reduce - 22:282,target 79 - 1:307 reduce - 89:298 reduce + 102:296,target 66 + 0:327,target 52 + 76:304,target 11 + 1:311,target 85 + 21:304 reduce + 28:285,target 95 48:0 reduce - 28:285,target 41 - 1:298 reduce - 0:306,target 45 - 1:308 reduce - 1:299 reduce - 1:309 reduce - 1:310 reduce - 6:299,target 48 - 6:309,target 48 - 6:310,target 48 - 1:311 reduce - 70:0 reduce - 69:0 reduce - 10:298,target 51 - 1:312 reduce - 55:298,target 2 - 25:303,target 12 - 22:261,target 58 - 1:313 reduce - 5:305,target 14 - 60:298 reduce - 59:298 reduce - 1:314 reduce - 6:0,target 47 + 4:345 goto + 9:304 reduce + 25:293,target 63 + 95:0,target 30 91:0 reduce - 87:0,target 38 - 42:327 goto - 2:0 reduce - 80:0,target 27 - 79:0,target 26 - 30:295 shift - 72:0,target 19 - 30:296 shift - 13:320,target 35 - 13:319,target 34 - 9:298 reduce - 2:313,target 71 - 64:0,target 11 - 29:297 shift - 56:0,target 3 - 44:298,target 29 - 24:0 reduce - 89:298,target 60 - 48:0,target 33 - 1:298,target 70 - 1:308,target 70 - 41:0,target 56 - 68:298 reduce - 45:0 reduce - 22:280,target 77 - 22:279,target 76 - 0:304,target 45 - 17:0,target 59 - 6:307,target 48 - 90:326 goto - 66:0 reduce - 33:298,target 73 - 10:0,target 51 - 78:298,target 25 - 21:325 goto - 38:298 shift - 25:301,target 10 - 22:258,target 55 - 5:303,target 12 - 87:0 reduce - 83:324,target 91 - 21:325,target 53 - 77:298 reduce - 13:317,target 32 - 2:311,target 71 - 67:298,target 14 - 21:294,target 52 - 1:306,target 70 - 47:298 reduce - 30:327 goto - 22:277,target 74 - 20:290,target 49 - 20:289,target 48 - 0:302,target 45 - 86:298 reduce + 64:0,target 39 + 6:328,target 55 + 33:0,target 47 + 19:302,target 34 + 59:343,target 110 + 31:321,target 21 + 0:344,target 3 + 103:296,target 66 + 1:327,target 85 + 77:304,target 12 + 2:311,target 86 + 112:304 reduce + 21:0 reduce + 86:304 reduce + 59:301,target 33 + 107:0 reduce + 56:298,target 107 63:0 reduce - 56:298,target 3 - 6:300 reduce - 6:305,target 48 - 6:301 reduce - 17:298 reduce - 13:336,target 38 - 6:302 reduce - 84:0 reduce - 5:301,target 10 - 6:303 reduce - 6:304 reduce - 56:298 reduce - 6:305 reduce - 45:298,target 30 - 6:306 reduce - 91:298,target 69 - 17:0 reduce - 2:298,target 71 - 2:308,target 71 - 6:307 reduce - 11:327,target 30 - 6:298 reduce - 6:308 reduce - 6:299 reduce - 6:309 reduce - 6:310 reduce - 1:304,target 70 - 6:311 reduce - 27:295,target 40 - 6:312 reduce - 34:298,target 74 - 22:275,target 72 - 6:313 reduce - 92:0,target 67 - 80:298,target 27 - 79:298,target 26 - 65:298 reduce - 60:0 reduce - 59:0 reduce - 20:287,target 46 - 11:296,target 28 - 6:314 reduce - 0:300,target 45 - 3:0,target 0 - 84:0,target 66 - 6:303,target 48 - 84:324,target 92 - 76:0,target 23 - 83:284 shift - 81:0 reduce - 68:0,target 15 - 83:285 shift - 61:0,target 8 - 16:295,target 27 - 83:286 shift - 53:0,target 63 - 35:298 reduce - 23:298,target 65 - 83:287 shift - 68:298,target 15 - 45:0,target 30 - 83:288 shift - 83:290 shift - 83:289 shift - 74:298 reduce - 2:306,target 71 - 83:288,target 47 - 90:292,target 87 - 12:298,target 54 - 1:302,target 70 - 57:298,target 4 - 40:326,target 89 - 27:293,target 40 - 56:0 reduce - 44:298 reduce - 22:273,target 70 - 20:285,target 44 - 6:301,target 48 - 83:298 reduce + 26:300 shift + 56:297 shift + 56:298 shift + 110:297,target 106 + 56:299 shift + 26:297 shift + 102:340,target 114 + 5:320,target 20 + 5:319,target 19 + 92:0,target 27 + 23:258,target 50 + 33:294,target 47 + 33:304,target 47 + 2:327,target 86 + 13:334,target 40 + 78:304,target 13 + 61:0,target 36 + 29:0,target 78 + 30:0,target 53 + 0:318,target 52 + 17:257,target 49 + 28:276,target 86 77:0 reduce - 6:332 goto - 22:323,target 81 - 46:298,target 31 - 14:298 shift - 92:298,target 67 9:0 reduce - 53:298 reduce - 2:304,target 71 - 28:295,target 41 - 0:316,target 2 - 92:298 reduce - 83:286,target 45 - 35:298,target 75 - 81:298,target 64 - 1:300,target 70 - 53:0 reduce - 27:291,target 40 - 23:298 reduce - 25:313,target 22 - 22:271,target 68 - 74:0 reduce - 62:298 reduce - 83:324 goto - 24:298,target 46 - 70:298,target 17 - 69:298,target 16 - 40:293,target 88 - 0:335,target 6 - 6:0 reduce - 32:298 reduce - 29:297,target 83 - 84:288,target 47 - 28:0 reduce - 2:302,target 71 - 88:0,target 39 - 71:298 reduce - 58:298,target 5 - 28:293,target 41 - 0:314,target 45 - 83:284,target 43 - 81:0,target 64 - 73:0,target 20 - 50:0 reduce + 92:304 reduce + 56:342 goto + 103:340,target 115 + 6:319,target 55 + 6:320,target 55 + 62:304 reduce + 26:341 goto + 34:294,target 48 + 34:304,target 48 + 115:0,target 80 + 79:304,target 14 + 80:304,target 15 + 31:312,target 14 + 56:342,target 109 + 1:318,target 85 + 88:0,target 23 49:0 reduce - 4:329,target 7 - 65:0,target 12 - 27:288,target 40 - 57:0,target 4 - 25:311,target 20 - 22:268,target 65 - 5:313,target 22 - 71:0 reduce - 50:0,target 62 - 49:0,target 34 - 41:298 reduce - 20:284 shift - 47:298,target 32 - 20:285 shift - 93:298,target 61 - 20:286 shift - 11:295 shift - 4:298,target 43 + 50:0 reduce + 57:0,target 71 92:0 reduce - 80:298 reduce - 79:298 reduce - 40:291,target 86 - 26:0,target 44 - 20:287 shift - 11:296 shift - 0:300 reduce - 3:0 accept - 20:288 shift - 11:297 shift - 0:301 reduce - 20:290 shift - 20:289 shift - 0:302 reduce - 30:295,target 27 - 0:303 reduce - 84:286,target 45 - 36:298,target 76 - 0:304 reduce - 82:298,target 49 - 50:298 reduce - 49:298 reduce - 28:284 reduce + 14:351,target 47 + 81:304,target 16 + 31:328,target 28 + 5:311,target 13 + 0:352,target 6 + 97:304 reduce + 2:318,target 86 + 67:304 reduce + 112:0,target 89 + 0:309,target 52 + 108:0 reduce + 37:304 reduce + 64:0 reduce + 28:267,target 77 + 24:302,target 34 + 85:0,target 20 + 5:327,target 27 + 54:0,target 7 + 82:304,target 17 + 6:311,target 55 + 27:353,target 72 + 23:0,target 1 + 102:295,target 65 + 0:326,target 52 + 1:309,target 85 + 28:284,target 94 + 19:343,target 56 + 25:292,target 62 + 78:0 reduce + 73:304 reduce + 108:0,target 46 + 37:304,target 60 + 6:327,target 55 + 83:304,target 18 + 43:304 reduce + 19:301,target 33 + 8:0,target 57 + 31:319,target 19 + 31:320,target 20 + 11:350,target 37 + 82:0,target 17 + 103:295,target 65 + 1:326,target 85 + 2:309,target 86 + 2:304 reduce + 51:0,target 3 + 2:305 reduce + 2:306 reduce + 2:307 reduce + 2:308 reduce + 20:0,target 69 + 2:309 reduce + 51:0 reduce + 2:311 reduce + 2:312 reduce + 56:297,target 106 + 2:313 reduce + 93:0 reduce + 2:316 reduce + 2:317 reduce + 38:304,target 91 + 2:318 reduce + 84:304,target 19 + 2:320 reduce + 2:319 reduce + 2:321 reduce + 2:322 reduce + 2:323 reduce + 2:324 reduce + 104:304 reduce + 5:318,target 18 + 2:325 reduce + 13:332 shift + 2:326 reduce + 13:333 shift + 2:327 reduce + 13:334 shift + 23:257,target 49 + 78:304 reduce + 2:328 reduce + 13:335 shift + 33:293,target 47 + 2:329 reduce + 2:326,target 86 + 13:333,target 39 + 13:336 shift + 105:0,target 83 + 13:337 shift + 48:304 reduce + 23:0 reduce + 0:317,target 52 + 18:304 reduce + 109:0 reduce + 78:0,target 13 + 28:275,target 85 + 65:0 reduce + 7:304 shift + 39:304,target 92 + 40:304,target 93 + 47:0,target 63 + 85:304,target 20 + 13:355 goto + 6:318,target 55 + 34:293,target 48 + 31:311,target 13 + 1:317,target 85 + 109:304 reduce + 37:0 reduce + 100:304,target 77 + 84:304 reduce + 110:297 shift + 110:298 shift + 110:299 shift + 102:0,target 81 + 41:304,target 94 + 71:310,target 111 + 86:304,target 21 + 54:304 reduce + 79:0 reduce + 80:0 reduce + 24:301 shift + 24:302 shift + 2:0,target 86 + 75:0,target 10 + 35:303,target 102 + 31:327,target 27 + 5:309,target 12 + 2:317,target 86 + 10:0 reduce + 24:343,target 59 + 101:304,target 56 + 0:308,target 52 + 52:0 reduce + 42:304,target 95 + 87:304,target 22 + 110:342 goto + 28:266,target 76 + 94:0 reduce + 24:301,target 33 + 115:304 reduce + 90:304 reduce + 89:304 reduce + 59:301 shift + 5:326,target 26 + 59:302 shift + 6:309,target 55 + 60:304 reduce + 24:343 goto + 29:304 reduce + 30:304 reduce + 72:0,target 76 + 102:294,target 64 + 102:304,target 81 + 0:325,target 52 + 1:308,target 85 + 43:304,target 96 + 88:304,target 23 + 28:283,target 93 + 111:0 reduce + 10:0,target 59 + 66:0 reduce + 25:291,target 61 + 6:326,target 55 + 31:318,target 18 + 95:304 reduce + 103:294,target 64 + 103:304,target 79 + 1:325,target 85 + 2:308,target 86 + 59:343 goto + 44:304,target 104 + 65:304 reduce + 90:304,target 25 + 89:304,target 24 + 99:0,target 34 + 35:303 shift + 68:0,target 42 + 81:0 reduce + 37:0,target 60 + 5:317,target 17 + 33:292,target 47 + 33:302,target 47 + 104:304,target 62 + 2:325,target 86 + 13:332,target 38 + 14:315,target 46 + 45:304,target 84 + 91:304,target 26 + 0:316,target 52 + 53:0 reduce + 28:274,target 84 + 95:0 reduce + 71:304 reduce + 96:0,target 31 + 6:317,target 55 + 41:304 reduce + 71:310 shift + 11:301 shift + 65:0,target 40 + 11:302 shift + 34:292,target 48 + 34:302,target 48 + 105:304,target 83 + 11:303 shift + 71:314 shift + 34:0,target 48 + 31:309,target 12 + 46:304,target 105 + 92:304,target 27 + 1:316,target 85 0:305 reduce - 2:300,target 71 - 28:291,target 41 - 28:285 reduce - 0:312,target 45 0:306 reduce - 46:0 reduce - 28:286 reduce - 19:295 shift 0:307 reduce - 88:298 reduce - 28:287 reduce - 19:296 shift 0:308 reduce - 28:288 reduce - 27:286,target 40 - 0:310 reduce + 112:0 reduce 0:309 reduce - 0:299 reduce - 67:0 reduce - 28:290 reduce - 28:289 reduce - 25:308,target 17 - 22:266,target 63 0:311 reduce - 5:311,target 20 - 71:298,target 18 - 28:291 reduce + 67:0 reduce 0:312 reduce - 28:292 reduce 0:313 reduce - 88:0 reduce - 58:298 reduce - 28:293 reduce - 0:314 reduce - 0:315 shift - 28:295 reduce - 0:316 shift - 0:331,target 5 - 28:296 reduce - 14:298,target 39 - 8:298 reduce - 60:298,target 7 - 59:298,target 6 - 1:314,target 70 - 84:284,target 43 - 28:298 reduce - 11:327 goto - 43:0 reduce - 28:288,target 41 - 0:310,target 45 - 0:309,target 45 - 0:299,target 45 - 67:298 reduce - 6:313,target 48 - 42:295,target 27 - 64:0 reduce - 48:298,target 33 - 27:284,target 40 - 25:306,target 15 - 22:264,target 61 - 20:324 goto - 5:308,target 17 - 11:334 goto - 85:0 reduce - 37:298 reduce - 0:328 goto - 19:327 goto - 0:330 goto - 93:0,target 61 - 0:331 goto - 4:0,target 42 - 85:0,target 55 - 76:298 reduce - 37:298,target 77 - 0:328,target 3 - 83:298,target 68 - 77:0,target 24 - 6:332,target 25 - 70:0,target 17 - 69:0,target 16 - 1:312,target 70 - 62:0,target 9 - 0:335 goto - 54:0,target 1 - 39:0 reduce - 22:283,target 80 - 46:298 reduce - 46:0,target 31 - 28:286,target 41 - 19:295,target 27 - 0:307,target 45 - 6:311,target 48 - 72:298,target 19 - 61:0 reduce - 31:0,target 53 - 16:295 shift - 85:298 reduce - 23:0,target 65 - 16:296 shift - 5:300 shift - 25:304,target 13 - 22:262,target 59 - 15:0,target 58 - 5:301 shift - 5:306,target 15 + 0:316 reduce + 0:317 reduce + 0:318 reduce + 0:319 reduce + 0:320 reduce + 102:290 shift + 0:321 reduce + 102:291 shift + 0:322 reduce + 102:292 shift + 0:323 reduce + 106:304,target 44 + 102:293 shift + 0:324 reduce + 102:294 shift + 102:304 reduce + 0:325 reduce + 31:326,target 26 + 102:295 shift + 5:308,target 11 + 0:326 reduce + 102:296 shift + 0:327 reduce + 76:304 reduce + 0:328 reduce + 47:304,target 63 + 93:304,target 28 + 0:330 shift + 0:329 reduce + 93:0,target 28 + 2:316,target 86 + 0:331 shift + 46:304 shift + 62:0,target 37 + 11:343 goto + 71:354 goto + 0:307,target 52 + 16:304 shift + 11:350 goto + 28:265,target 75 82:0 reduce - 25:300 shift - 22:257 shift - 5:302 shift - 25:301 shift - 22:258 shift - 5:303 shift - 25:302 shift - 22:260 shift - 22:259 shift - 15:298,target 58 - 5:304 shift - 61:298,target 8 - 55:298 reduce - 25:303 shift - 22:261 shift - 13:321,target 36 - 2:314,target 71 + 0:344 goto 5:305 shift - 25:304 shift - 22:262 shift - 20:324,target 50 - 15:0 reduce + 0:346 goto 5:306 shift - 25:305 shift - 22:263 shift + 0:347 goto 5:307 shift - 25:306 shift - 22:264 shift - 1:299,target 70 - 1:309,target 70 - 1:310,target 70 5:308 shift - 25:307 shift - 22:265 shift - 5:299 shift 5:309 shift - 5:310 shift - 25:308 shift - 22:281,target 78 - 22:266 shift + 36:302,target 34 + 107:304,target 45 5:311 shift - 50:298,target 62 - 49:298,target 34 - 28:284,target 41 - 25:310 shift - 25:309 shift - 25:299 shift - 22:267 shift - 0:305,target 45 + 0:352 goto + 5:325,target 25 5:312 shift - 57:0 reduce - 25:311 shift - 22:268 shift 5:313 shift - 6:298,target 47 - 6:308,target 48 - 64:298 reduce - 25:312 shift - 22:270 shift - 22:269 shift - 5:314 shift - 25:313 shift - 22:271 shift - 78:0 reduce - 25:314 shift - 25:302,target 11 - 22:272 shift - 22:260,target 57 - 22:259,target 56 - 5:304,target 13 - 22:273 shift - 38:298,target 85 - 22:274 shift - 84:298,target 66 - 34:298 reduce - 22:275 shift - 22:276 shift - 16:327 goto - 13:318,target 33 + 6:308,target 55 + 33:299,target 47 + 48:304,target 65 + 94:304,target 29 + 5:316 shift + 5:317 shift + 5:318 shift + 102:340 goto + 5:320 shift + 5:319 shift + 116:0,target 73 + 5:321 shift 12:0 reduce - 2:312,target 71 - 22:277 shift - 73:298 reduce - 22:278 shift - 22:280 shift - 22:279 shift - 1:307,target 70 - 27:298,target 40 - 22:281 shift - 73:298,target 20 - 22:282 shift - 22:278,target 75 + 102:293,target 63 + 5:322 shift + 0:324,target 52 + 5:323 shift + 1:307,target 85 + 5:324 shift + 107:304 reduce + 5:325 shift + 5:326 shift + 5:327 shift + 28:282,target 92 54:0 reduce - 22:283 shift - 0:303,target 45 - 43:298 reduce - 6:306,target 48 - 8:0,target 50 - 89:0,target 60 - 75:0 reduce - 1:0,target 70 - 82:298 reduce - 82:0,target 49 - 25:300,target 9 - 22:257,target 54 - 2:300 reduce - 5:302,target 11 - 74:0,target 21 - 62:298,target 9 - 2:301 reduce - 5:333 goto - 90:326,target 93 - 66:0,target 13 - 2:302 reduce - 58:0,target 5 - 25:333 goto - 2:303 reduce - 51:0,target 35 - 2:299,target 71 - 2:304 reduce - 2:309,target 71 - 2:310,target 71 - 52:298 reduce - 43:0,target 28 - 2:305 reduce - 2:306 reduce - 51:298,target 35 - 27:0,target 40 - 1:305,target 70 - 2:307 reduce - 91:298 reduce - 27:296,target 40 - 7:298,target 26 - 2:298 reduce - 2:308 reduce - 51:0 reduce - 22:276,target 73 - 16:327,target 40 - 12:0,target 54 - 2:299 reduce - 2:309 reduce - 2:310 reduce - 20:288,target 47 - 13:317 shift - 11:297,target 29 - 0:301,target 45 - 2:311 reduce - 13:318 shift - 2:312 reduce - 6:304,target 48 + 82:304 reduce + 5:328 shift + 5:329 shift + 90:0,target 25 + 89:0,target 24 + 25:290,target 60 + 52:304 reduce + 96:0 reduce + 58:0,target 72 + 108:304,target 46 + 6:325,target 55 + 22:304 shift + 34:299,target 48 + 49:304,target 2 + 50:304,target 5 + 95:304,target 30 + 31:317,target 17 + 103:293,target 63 + 5:349 goto + 1:324,target 85 + 2:307,target 86 + 113:0 reduce + 26:300,target 69 + 68:0 reduce + 113:0,target 88 + 1:0 reduce + 113:304 reduce + 109:304,target 68 + 87:304 reduce + 51:304,target 3 + 96:304,target 31 + 86:0,target 21 + 5:316,target 16 + 57:304 reduce + 33:291,target 47 + 33:301,target 47 + 55:0,target 66 + 2:324,target 86 + 27:304 shift + 28:273,target 83 + 83:0 reduce + 111:304,target 90 + 52:304,target 6 + 97:304,target 32 + 6:316,target 55 + 109:0,target 68 + 34:291,target 48 + 34:301,target 48 + 31:308,target 11 + 93:304 reduce + 9:0,target 58 + 83:0,target 18 + 28:289,target 99 + 63:304 reduce + 100:0 reduce + 33:290 reduce + 33:291 reduce + 33:301 reduce + 52:0,target 6 + 55:0 reduce + 33:292 reduce + 33:302 reduce + 33:293 reduce + 33:294 reduce + 33:304 reduce + 112:304,target 89 + 21:0,target 70 + 33:295 reduce + 33:296 reduce + 97:0 reduce + 5:349,target 30 + 33:297 reduce + 33:298 reduce + 33:299 reduce + 53:304,target 4 + 98:304,target 33 + 27:353 goto + 31:325,target 25 + 5:307,target 10 + 106:0,target 44 + 0:306,target 52 + 26:297,target 68 + 114:0 reduce + 36:343,target 103 + 113:304,target 88 + 69:0 reduce + 70:0 reduce + 98:304 reduce + 6:0,target 54 + 28:264,target 74 + 2:0 reduce + 54:304,target 7 + 79:0,target 14 + 80:0,target 15 + 99:304,target 34 + 68:304 reduce + 48:0,target 65 + 36:301,target 33 + 5:324,target 24 + 38:304 reduce + 6:307,target 55 + 17:0,target 1 + 33:298,target 47 + 102:292,target 62 + 0:323,target 52 + 1:306,target 85 + 17:262,target 54 + 114:304,target 82 + 28:281,target 91 + 10:304,target 59 + 55:304,target 66 + 84:0 reduce + 103:0,target 79 + 6:324,target 55 + 13:355,target 44 + 34:298,target 48 + 3:0,target 0 + 100:304 reduce + 76:0,target 11 + 31:316,target 16 + 74:304 reduce + 26:341,target 70 + 103:292,target 62 + 1:323,target 85 + 45:0,target 84 + 2:306,target 86 + 44:304 shift + 115:304,target 80 + 101:0 reduce + 14:304 shift + 98:0 reduce + 14:315 shift + 100:0,target 77 + 33:290,target 47 + 2:323,target 86 + 116:304,target 73 + 105:304 reduce + 12:304,target 61 + 73:0,target 8 + 57:304,target 71 + 115:0 reduce + 79:304 reduce + 80:304 reduce + 28:272,target 82 + 71:0 reduce + 3:0 accept + 49:304 reduce + 50:304 reduce + 19:301 shift + 19:302 shift + 31:349,target 101 + 20:304 reduce + 34:290,target 48 + 14:351 goto + 8:304 reduce + 31:307,target 10 + 0:331,target 2 + 28:288,target 98 + 58:304,target 72 + 25:296,target 66 + 85:0 reduce + 17:338,target 55 + 111:304 reduce + 69:0,target 43 + 70:0,target 75 + 85:304 reduce + 31:324,target 24 + 5:306,target 9 + 0:347,target 5 + 55:304 reduce + 25:290 shift + 25:291 shift + 19:343 goto + 25:292 shift + 25:293 shift + 15:0 reduce + 25:294 shift + 14:304,target 45 + 25:295 shift + 25:296 shift + 60:304,target 35 + 102:0 reduce + 0:305,target 52 + 57:0 reduce + 6:348,target 31 + 28:263,target 73 + 99:0 reduce + 5:323,target 23 + 6:306,target 55 + 23:262,target 54 + 97:0,target 32 + 33:297,target 47 + 13:337,target 43 + 116:304 reduce + 66:0,target 41 + 15:304,target 64 + 91:304 reduce + 25:340,target 67 + 61:304,target 36 + 102:291,target 61 + 0:322,target 52 + 29:0 reduce + 30:0 reduce + 1:305,target 85 + 17:261,target 53 + 25:340 goto + 61:304 reduce + 28:279,target 89 + 28:280,target 90 + 116:0 reduce 72:0 reduce - 13:320 shift - 13:319 shift - 2:313 reduce - 61:298 reduce - 39:298,target 57 - 13:321 shift - 2:314 reduce - 85:298,target 55 - 16:296,target 28 - 13:322 shift - 5:300,target 9 - 93:0 reduce 4:0 reduce - 31:298 reduce - 2:307,target 71 - 40:291 shift - 28:298,target 41 - 26:0 reduce - 83:290,target 49 - 83:289,target 48 - 74:298,target 21 - 40:292 shift - 90:293,target 88 - 70:298 reduce - 69:298 reduce - 40:293 shift - 21:291,target 51 - 1:303,target 70 + 31:305 shift + 31:306 shift + 31:307 shift + 31:308 shift + 31:309 shift + 6:323,target 55 + 31:311 shift + 31:312 shift + 31:313 shift + 34:297,target 48 + 31:316 shift + 31:317 shift + 31:318 shift + 16:304,target 48 + 31:319 shift + 31:320 shift + 31:321 shift + 62:304,target 37 + 103:291,target 61 + 1:322,target 85 + 31:322 shift + 31:323 shift + 2:305,target 86 + 31:324 shift + 31:325 shift + 31:326 shift + 94:0,target 29 + 31:327 shift + 31:328 shift + 31:329 shift + 11:303,target 35 + 71:314,target 112 + 63:0,target 38 + 96:304 reduce + 86:0 reduce + 32:0,target 51 + 66:304 reduce + 36:301 shift + 36:302 shift + 17:304,target 1 + 63:304,target 38 + 2:322,target 86 + 31:349 goto + 0:313,target 52 + 103:0 reduce + 58:0 reduce + 28:271,target 81 + 91:0,target 26 + 60:0,target 35 + 18:304,target 67 + 28:339,target 100 + 64:304,target 39 + 31:306,target 9 + 72:304 reduce + 0:330,target 1 + 0:329,target 52 + 1:313,target 85 + 36:343 goto + 42:304 reduce + 23:338,target 58 + 28:287,target 97 + 12:304 reduce + 25:295,target 65 + 73:0 reduce + 17:257 shift + 17:258 shift + 1:304 reduce + 17:259 shift + 17:260 shift + 114:0,target 82 + 1:305 reduce + 17:261 shift + 1:306 reduce + 17:262 shift + 1:307 reduce + 1:308 reduce + 20:304,target 69 + 1:309 reduce + 65:304,target 40 + 1:311 reduce + 1:312 reduce + 31:323,target 23 + 5:305,target 8 + 1:313 reduce + 0:346,target 4 + 87:0,target 22 + 1:329,target 85 + 1:316 reduce + 2:313,target 86 + 1:317 reduce + 1:318 reduce + 1:320 reduce + 1:319 reduce + 103:290 shift + 1:321 reduce + 103:291 shift + 1:322 reduce + 103:292 shift + 1:323 reduce + 45:0 reduce + 103:293 shift + 1:324 reduce + 103:294 shift + 103:304 reduce + 1:325 reduce + 103:295 shift + 1:326 reduce + 103:296 shift + 1:327 reduce + 77:304 reduce + 1:328 reduce + 87:0 reduce + 1:329 reduce + 110:299,target 108 + 47:304 reduce + 21:304,target 70 + 66:304,target 41 + 5:322,target 22 + 17:304 reduce + 6:305,target 55 + 23:261,target 53 + 33:296,target 47 + 2:329,target 86 + 13:336,target 42 + 23:257 shift + 23:258 shift + 6:304 reduce + 23:259 shift + 23:260 shift + 111:0,target 90 + 6:305 reduce + 23:261 shift + 6:306 reduce + 23:262 shift + 6:307 reduce + 17:0 reduce + 102:290,target 60 + 0:321,target 52 + 6:308 reduce + 6:309 reduce + 1:304,target 85 + 6:311 reduce + 17:259,target 51 + 17:260,target 52 + 6:312 reduce + 104:0 reduce + 6:313 reduce + 28:278,target 88 + 60:0 reduce + 84:0,target 19 + 6:316 reduce + 6:317 reduce + 6:318 reduce + 103:340 goto + 6:319 reduce + 6:320 reduce + 53:0,target 4 + 6:321 reduce + 6:322 reduce + 6:323 reduce + 22:304,target 57 + 6:324 reduce + 67:304,target 74 + 108:304 reduce + 6:322,target 55 + 6:325 reduce + 6:326 reduce + 6:327 reduce + 83:304 reduce + 6:328 reduce + 34:296,target 48 + 6:329 reduce + 17:338 goto + 53:304 reduce + 103:290,target 60 + 1:321,target 85 + 2:304,target 86 + 23:304 reduce + 32:0 reduce + 11:302,target 34 + 107:0,target 45 + 74:0 reduce + 6:348 goto + 28:263 shift + 6:0 reduce + 28:264 shift + 23:304,target 1 + 28:265 shift + 28:266 shift + 68:304,target 42 + 28:267 shift + 28:268 shift + 28:269 shift + 28:270 shift + 28:271 shift + 81:0,target 16 + 28:272 shift + 28:273 shift + 5:313,target 15 + 28:274 shift + 28:275 shift + 49:0,target 2 + 50:0,target 5 + 28:276 shift + 28:277 shift + 2:321,target 86 + 28:278 shift + 18:0,target 67 + 28:279 shift + 28:280 shift + 114:304 reduce + 28:281 shift + 28:282 shift + 88:304 reduce + 28:283 shift + 28:284 shift + 0:312,target 52 + 28:285 shift + 28:286 shift + 23:338 goto + 28:287 shift + 28:288 shift + 58:304 reduce + 28:289 shift + 28:269,target 79 + 28:270,target 80 + 88:0 reduce + 69:304,target 43 + 70:304,target 75 + 5:329,target 29 + 104:0,target 62 + 6:313,target 55 + 4:304,target 50 + 4:0,target 49 + 31:305,target 8 + 0:328,target 52 + 18:0 reduce + 77:0,target 12 + 1:312,target 85 + 28:286,target 96 + 105:0 reduce + 61:0 reduce + 15:0,target 64 + 25:294,target 64 + 71:304,target 87 + 94:304 reduce + 6:329,target 55 + 28:339 goto + 64:304 reduce + 34:290 reduce + 34:291 reduce + 34:301 reduce + 34:292 reduce + 34:302 reduce + 34:293 reduce + 31:322,target 22 + 34:294 reduce + 34:304 reduce + 34:295 reduce + 34:296 reduce + 1:328,target 85 + 34:297 reduce + 34:298 reduce + 2:312,target 86 + 34:299 reduce + 101:0,target 56 + 33:0 reduce + 59:302,target 34 + 56:299,target 108 + 72:304,target 76 + 1:0,target 85 + 75:0 reduce + 74:0,target 9 + 110:298,target 107 + 5:321,target 21 + 12:0,target 61 + 6:304,target 54 + 23:259,target 51 + 23:260,target 52 + 99:304 reduce + 33:295,target 47 + 2:328,target 86 + 13:335,target 41 + 69:304 reduce + 70:304 reduce + 0:319,target 52 + 0:320,target 52 + 17:258,target 50 + 27:304,target 71 + 39:304 reduce + 40:304 reduce 47:0 reduce - 22:274,target 71 - 22:323 goto - 20:286,target 45 - 11:295,target 27 - 68:0 reduce - 17:298,target 59 - 6:302,target 48 - 63:298,target 10 - 39:298 reduce - 13:336 goto + 73:304,target 8 + 28:277,target 87 + 10:304 reduce + 90:0 reduce 89:0 reduce - 1:0 reduce - 78:298 reduce - 10:298 reduce - 52:298,target 36 - 23:0 reduce - 2:305,target 71 - 28:296,target 41 - 8:298,target 50 - 83:287,target 46 - 48:298 reduce - 27:284 reduce - 90:291,target 86 - 44:0 reduce - 27:285 reduce - 1:301,target 70 - 86:0,target 37 - 27:292,target 40 - 27:286 reduce - 87:298 reduce - 78:0,target 25 - 27:287 reduce - 25:314,target 23 - 22:272,target 69 - 71:0,target 18 - 65:0 reduce - 41:298,target 56 - 27:288 reduce - 20:284,target 43 - 86:298,target 37 - 63:0,target 10 - 27:290 reduce - 27:289 reduce - 18:298 shift - 6:300,target 48 - 55:0,target 2 - 27:291 reduce - 86:0 reduce - 47:0,target 32 - 27:292 reduce - 57:298 reduce - 40:326 goto - 39:0,target 57 - 27:293 reduce - 27:295 reduce - 24:0,target 46 - 84:290,target 49 - 84:289,target 48 - 75:298,target 22 - 27:296 reduce - 7:298 shift - 25:333,target 82 - 2:303,target 71 - 27:298 reduce - 0:315,target 1 - 83:285,target 44 - 41:0 reduce - 66:298 reduce - 27:290,target 40 - 27:289,target 40 - 18:298,target 41 - 64:298,target 11 + 6:321,target 55 + 7:304,target 32 + 34:295,target 48 + 71:0,target 87 + 31:313,target 15 + 11:343,target 36 + 71:354,target 113 + 1:320,target 85 + 1:319,target 85 + 20:0 reduce + 74:304,target 9 + 110:342,target 116 + 106:0 reduce 62:0 reduce - 25:312,target 21 - 22:270,target 67 - 22:269,target 66 - 5:314,target 23 - 84:284 shift - 30:327,target 84 - 84:285 shift - 83:0 reduce - 84:286 shift - 40:292,target 87 - 36:298 reduce - 84:287 shift - 84:288 shift - 53:298,target 63 - 84:290 shift - 84:289 shift - 75:298 reduce - 30:296,target 28 - 9:298,target 52 - 84:287,target 46 - 2:301,target 71 - 5:333,target 24 - 28:292,target 41 - 0:313,target 45 - 45:298 reduce - 87:298,target 38 - 58:0 reduce - 27:287,target 40 - 25:310,target 19 - 25:309,target 18 - 25:299,target 8 - 22:267,target 64 - 5:312,target 21 - 84:298 reduce - 80:0 reduce - 79:0 reduce - 15:298 reduce - 31:298,target 53 - 76:298,target 23 - 54:298 reduce - 9:0,target 52 - 91:0,target 69 - 42:327,target 90 - 2:0,target 71 - 84:285,target 44 - 83:0,target 68 - 93:298 reduce - 75:0,target 22 - 4:298 reduce - 67:0,target 14 - 28:290,target 41 - 28:289,target 41 - 0:311,target 45 - 65:298,target 12 - 60:0,target 7 - 59:0,target 6 - 24:298 reduce - 6:314,target 48 - 55:0 reduce - 52:0,target 36 - 42:296,target 28 - 44:0,target 29 - 27:285,target 40 - 63:298 reduce - 25:307,target 16 - 22:265,target 62 - 5:299,target 8 - 5:309,target 18 - 5:310,target 19 - 84:324 goto + 101:304 reduce + 11:301,target 33 + 75:304 reduce + 45:304 reduce + 8:304,target 57 + 15:304 reduce + 31:329,target 29 + 5:312,target 14 + 2:320,target 86 + 2:319,target 86 + 4:304 reduce + 98:0,target 33 + 29:304,target 78 + 30:304,target 53 + 75:304,target 10 + 34:0 reduce + 0:311,target 52 + 67:0,target 74 + 28:268,target 78 76:0 reduce - 28:0,target 41 - 54:298,target 1 8:0 reduce - 33:298 reduce - 19:327,target 42 - 10:0 reduce - 0:330,target 4 - 1:313,target 70 - 72:298 reduce - 31:0 reduce - 43:298,target 28 - 88:298,target 39 - 42:295 shift - 28:287,target 41 - 19:296,target 28 - 0:308,target 45 - 52:0 reduce - 42:296 shift - 6:312,target 48 - 73:0 reduce - 25:305,target 14 - 22:263,target 60 - 4:329 goto - 5:307,target 16 - 32:298,target 72 - 81:298 reduce - 77:298,target 24 - 1:300 reduce - 90:291 shift - 1:301 reduce + 4:345,target 7 + 9:304,target 58 + 5:328,target 28 + 106:304 reduce + 6:312,target 55 + 81:304 reduce + 51:304 reduce } array set fp::rules { - 9,l 323 - 11,l 323 - 32,l 324 - 53,l 333 - 74,l 336 - 6,l 323 - 28,l 324 - 50,l 333 - 49,l 330 - 71,l 335 - 3,l 323 - 25,l 323 - 46,l 330 - 67,l 334 - 0,l 337 - 22,l 323 - 43,l 329 - 64,l 333 - 18,l 323 - 40,l 327 - 39,l 326 - 61,l 333 - 15,l 323 - 36,l 325 - 57,l 333 - 12,l 323 - 33,l 324 - 54,l 333 - 75,l 336 - 7,l 323 - 29,l 324 - 30,l 324 - 51,l 333 - 72,l 336 - 4,l 323 - 26,l 323 - 47,l 330 - 68,l 334 - 1,l 323 - 23,l 323 - 44,l 328 - 65,l 333 - 19,l 323 - 20,l 323 - 41,l 327 - 62,l 333 - 16,l 323 - 37,l 326 - 58,l 333 - 13,l 323 - 34,l 324 - 55,l 333 - 76,l 336 - 8,l 323 - 10,l 323 - 31,l 324 - 52,l 333 - 73,l 336 - 5,l 323 - 27,l 323 - 48,l 332 - 70,l 335 - 69,l 334 - 2,l 323 - 24,l 323 - 45,l 331 - 66,l 334 - 21,l 323 - 42,l 328 - 63,l 333 - 17,l 323 - 38,l 326 - 60,l 333 - 59,l 333 - 14,l 323 - 35,l 325 - 56,l 333 - 77,l 336 + 9,l 339 + 11,l 339 + 32,l 339 + 53,l 346 + 74,l 349 + 95,l 355 + 6,l 338 + 28,l 339 + 50,l 345 + 49,l 344 + 71,l 349 + 92,l 355 + 3,l 338 + 25,l 339 + 46,l 342 + 67,l 349 + 0,l 356 + 88,l 353 + 22,l 339 + 43,l 341 + 64,l 349 + 85,l 352 + 18,l 339 + 40,l 340 + 39,l 340 + 61,l 349 + 82,l 350 + 15,l 339 + 36,l 340 + 57,l 349 + 78,l 349 + 12,l 339 + 33,l 339 + 54,l 346 + 75,l 349 + 96,l 355 + 7,l 338 + 29,l 339 + 30,l 339 + 51,l 344 + 72,l 349 + 93,l 355 + 4,l 338 + 26,l 339 + 47,l 343 + 68,l 349 + 90,l 354 + 89,l 354 + 1,l 338 + 23,l 339 + 44,l 342 + 65,l 349 + 86,l 352 + 19,l 339 + 20,l 339 + 41,l 340 + 62,l 349 + 83,l 351 + 16,l 339 + 37,l 340 + 58,l 349 + 80,l 350 + 79,l 350 + 13,l 339 + 34,l 339 + 55,l 348 + 76,l 349 + 8,l 339 + 10,l 339 + 31,l 339 + 52,l 347 + 73,l 349 + 94,l 355 + 5,l 338 + 27,l 339 + 48,l 343 + 70,l 349 + 69,l 349 + 91,l 355 + 2,l 338 + 24,l 339 + 45,l 342 + 66,l 349 + 87,l 353 + 21,l 339 + 42,l 341 + 63,l 349 + 84,l 351 + 17,l 339 + 38,l 340 + 60,l 349 + 59,l 349 + 81,l 350 + 14,l 339 + 35,l 340 + 56,l 346 + 77,l 349 } array set fp::rules { 63,dc 2 12,dc 1 - 77,dc 1 + 77,dc 2 26,dc 1 + 92,dc 1 3,dc 1 41,dc 1 - 55,dc 3 + 55,dc 0 70,dc 1 - 69,dc 3 + 69,dc 1 18,dc 1 + 84,dc 1 33,dc 1 9,dc 1 47,dc 1 - 62,dc 2 + 62,dc 3 11,dc 1 - 76,dc 1 + 76,dc 2 25,dc 1 + 91,dc 1 2,dc 1 40,dc 1 39,dc 1 54,dc 1 - 68,dc 2 + 68,dc 3 17,dc 1 + 83,dc 2 32,dc 1 8,dc 1 - 46,dc 2 - 61,dc 4 + 46,dc 1 + 61,dc 1 10,dc 1 - 75,dc 1 + 75,dc 2 24,dc 1 - 1,dc 1 + 90,dc 1 + 89,dc 1 + 1,dc 0 38,dc 1 53,dc 2 - 67,dc 3 + 67,dc 1 16,dc 1 + 82,dc 3 31,dc 1 + 96,dc 1 7,dc 1 - 45,dc 0 - 60,dc 3 + 45,dc 1 + 60,dc 2 59,dc 1 - 74,dc 1 + 74,dc 2 23,dc 1 0,dc 1 + 88,dc 2 37,dc 1 - 52,dc 1 + 52,dc 0 66,dc 2 15,dc 1 + 81,dc 2 29,dc 1 30,dc 1 + 95,dc 1 6,dc 1 - 44,dc 3 + 44,dc 1 58,dc 1 - 73,dc 1 + 73,dc 4 22,dc 1 + 87,dc 1 36,dc 1 - 51,dc 1 - 65,dc 1 + 51,dc 3 + 65,dc 2 14,dc 1 + 80,dc 3 + 79,dc 2 28,dc 1 + 94,dc 1 5,dc 1 - 43,dc 0 - 57,dc 2 - 72,dc 1 + 43,dc 1 + 57,dc 1 + 72,dc 2 21,dc 1 + 86,dc 1 35,dc 1 - 50,dc 1 - 49,dc 3 - 64,dc 2 + 50,dc 0 + 49,dc 1 + 64,dc 1 13,dc 1 + 78,dc 1 27,dc 1 + 93,dc 1 4,dc 1 42,dc 1 - 56,dc 2 - 71,dc 1 + 56,dc 3 + 71,dc 2 19,dc 1 20,dc 1 + 85,dc 1 34,dc 1 - 48,dc 0 + 48,dc 1 } array set fp::rules { - 41,line 180 - 7,line 141 - 37,line 175 - 4,line 138 - 34,line 169 - 1,line 135 - 31,line 166 - 27,line 161 - 24,line 158 - 21,line 155 - 76,line 225 - 17,line 151 - 73,line 222 - 43,e 1 - 14,line 148 - 70,line 217 - 69,line 214 - 11,line 145 - 66,line 211 - 63,line 206 - 60,line 203 - 59,line 201 - 56,line 198 - 53,line 195 - 50,line 192 - 49,line 189 - 46,line 187 - 43,line 183 - 9,line 143 - 40,line 179 - 39,line 177 - 6,line 140 - 36,line 172 - 3,line 137 - 33,line 168 - 29,line 164 - 30,line 165 - 26,line 160 - 23,line 157 - 19,line 153 - 20,line 154 - 75,line 224 - 16,line 150 - 72,line 221 - 13,line 147 - 68,line 213 - 10,line 144 - 65,line 208 - 62,line 205 - 58,line 200 - 55,line 197 - 52,line 194 - 48,line 188 - 45,line 186 - 42,line 183 - 8,line 142 - 38,line 176 - 5,line 139 - 35,line 171 - 2,line 136 - 32,line 167 - 48,e 1 - 28,line 163 - 25,line 159 - 22,line 156 - 77,line 226 - 45,e 0 - 18,line 152 - 74,line 223 - 15,line 149 - 71,line 218 - 12,line 146 - 67,line 212 - 64,line 207 - 61,line 204 - 57,line 199 - 54,line 196 - 51,line 193 - 47,line 188 - 44,line 184 + 41,line 201 + 96,line 276 + 7,line 165 + 37,line 197 + 93,line 273 + 4,line 162 + 34,line 193 + 90,line 268 + 89,line 267 + 1,line 159 + 50,e 1 + 31,line 190 + 86,line 260 + 27,line 186 + 83,line 255 + 24,line 183 + 80,line 250 + 79,line 249 + 21,line 180 + 76,line 244 + 17,line 176 + 73,line 241 + 14,line 173 + 70,line 237 + 69,line 236 + 11,line 170 + 66,line 233 + 63,line 230 + 60,line 227 + 59,line 226 + 56,line 221 + 53,line 219 + 50,line 215 + 49,line 215 + 46,line 209 + 43,line 204 + 9,line 168 + 40,line 200 + 39,line 199 + 95,line 275 + 6,line 164 + 36,line 196 + 92,line 272 + 3,line 161 + 33,line 192 + 88,line 264 + 29,line 188 + 30,line 189 + 85,line 259 + 26,line 185 + 82,line 252 + 23,line 182 + 78,line 246 + 19,line 178 + 20,line 179 + 75,line 243 + 16,line 175 + 72,line 240 + 13,line 172 + 68,line 235 + 10,line 169 + 65,line 232 + 62,line 229 + 58,line 225 + 55,line 220 + 52,line 218 + 48,line 212 + 55,e 1 + 45,line 208 + 42,line 203 + 8,line 167 + 38,line 198 + 52,e 0 + 94,line 274 + 5,line 163 + 35,line 195 + 91,line 271 + 2,line 160 + 32,line 191 + 87,line 263 + 28,line 187 + 84,line 256 + 25,line 184 + 81,line 251 + 22,line 181 + 77,line 245 + 18,line 177 + 74,line 242 + 15,line 174 + 71,line 238 + 12,line 171 + 67,line 234 + 64,line 231 + 61,line 228 + 57,line 224 + 54,line 220 + 51,line 216 + 47,line 211 + 44,line 207 } array set fp::lr1_table { - 35 {{75 298 1}} + 35 {{81 {0 304} 1} {82 {0 304} 1}} 66,trans {} - 36 {{76 298 1}} - 85,trans {{284 45} {285 46} {286 47} {287 48} {288 49} {289 50} {290 51} {324 95}} - 37 {{77 298 1}} - 38 {{55 {0 298} 2}} - 39 {{57 {0 298} 2}} - 40 {{40 {291 292 293} 1}} - 41 {{41 {291 292 293} 1}} - 42 {{60 {0 298} 2} {37 {0 298} 0} {38 {0 298} 0} {39 {0 298} 0}} - 43 {{56 {0 298} 2}} - 44 {{61 {0 298} 2} {40 {291 292 293} 0} {41 {291 292 293} 0}} - 45 {{28 {0 298} 1}} - 46 {{29 {0 298} 1}} - 47 {{30 {0 298} 1}} - 48 {{31 {0 298} 1}} - 49 {{32 {0 298} 1}} - 50 {{33 {0 298} 1}} - 27,trans {} - 51 {{34 {0 298} 1}} - 46,trans {} - 52 {{62 {0 298} 2}} + 85,trans {} + 36 {{79 {0 304} 1} {80 {0 304} 1} {47 {0 290 291 292 293 294 295 296 304} 0} {48 {0 290 291 292 293 294 295 296 304} 0}} + 37 {{60 {0 304} 2}} + 38 {{91 304 1}} + 39 {{92 304 1}} + 40 {{93 304 1}} + 117,trans {} + 41 {{94 304 1}} + 42 {{95 304 1}} + 43 {{96 304 1}} + 44 {{62 {0 304} 2}} + 45 {{84 {0 304} 1}} + 46 {{83 {0 304} 1}} + 47 {{63 {0 304} 2}} + 48 {{65 {0 304} 2}} + 49 {{2 {0 304} 1}} + 50 {{5 {0 304} 1}} + 27,trans {{304 73} {353 74}} + 51 {{3 {0 304} 1}} + 46,trans {{304 109}} + 52 {{6 {0 304} 1}} 65,trans {} - 53 {{35 {0 298} 1}} 84,trans {} - 54 {{36 {0 298} 1}} - 55 {{63 {0 298} 2}} - 56 {{1 {0 298} 1}} - 57 {{2 {0 298} 1}} - 58 {{3 {0 298} 1}} - 59 {{4 {0 298} 1}} - 60 {{5 {0 298} 1}} - 61 {{6 {0 298} 1}} - 62 {{7 {0 298} 1}} - 63 {{8 {0 298} 1}} - 64 {{9 {0 298} 1}} - 65 {{10 {0 298} 1}} - 66 {{11 {0 298} 1}} - 26,trans {} - 67 {{12 {0 298} 1}} + 53 {{4 {0 304} 1}} + 54 {{7 {0 304} 1}} + 55 {{66 {0 304} 2}} + 56 {{47 {297 298 299} 1}} + 116,trans {} + 57 {{48 {297 298 299} 1}} + 58 {{68 {0 304} 2} {44 {0 304} 0} {45 {0 304} 0} {46 {0 304} 0}} + 59 {{71 {0 304} 2}} + 60 {{72 {0 304} 2}} + 61 {{73 {0 304} 2} {47 {297 298 299} 0} {48 {297 298 299} 0}} + 62 {{35 {0 304} 1}} + 63 {{36 {0 304} 1}} + 64 {{37 {0 304} 1}} + 65 {{38 {0 304} 1}} + 66 {{39 {0 304} 1}} + 26,trans {{297 70} {300 71} {341 72}} + 67 {{40 {0 304} 1}} 45,trans {} - 68 {{13 {0 298} 1}} + 68 {{41 {0 304} 1}} 64,trans {} - 69 {{14 {0 298} 1}} - 70 {{15 {0 298} 1}} 83,trans {} - 71 {{16 {0 298} 1}} - 72 {{17 {0 298} 1}} - 73 {{18 {0 298} 1}} - 74 {{19 {0 298} 1}} - 75 {{20 {0 298} 1}} - 76 {{21 {0 298} 1}} - 77 {{22 {0 298} 1}} - 78 {{23 {0 298} 1}} - 79 {{24 {0 298} 1}} - 80 {{25 {0 298} 1}} - 81 {{26 {0 298} 1}} - 82 {{27 {0 298} 1}} - 83 {{64 {0 298} 2}} - 25,trans {{299 8} {300 9} {301 10} {302 11} {303 12} {304 13} {305 14} {306 15} {307 16} {308 17} {309 18} {310 19} {311 20} {312 21} {313 22} {314 23} {333 84}} - 84 {{49 {0 298} 3}} - 44,trans {{295 40} {296 41} {327 94}} - 85 {{68 {0 298} 2} {69 {0 298} 2} {28 {0 298} 0} {29 {0 298} 0} {30 {0 298} 0} {31 {0 298} 0} {32 {0 298} 0} {33 {0 298} 0} {34 {0 298} 0}} + 69 {{74 {0 304} 2}} + 70 {{42 {0 304} 1}} + 71 {{43 {0 304} 1}} + 72 {{75 {0 304} 2}} + 73 {{87 {0 304} 1} {88 {0 304} 1} {89 {0 304} 0} {90 {0 304} 0}} + 115,trans {} + 74 {{76 {0 304} 2}} + 75 {{8 {0 304} 1}} + 76 {{9 {0 304} 1}} + 77 {{10 {0 304} 1}} + 78 {{11 {0 304} 1}} + 79 {{12 {0 304} 1}} + 80 {{13 {0 304} 1}} + 81 {{14 {0 304} 1}} + 82 {{15 {0 304} 1}} + 25,trans {{290 62} {291 63} {292 64} {293 65} {294 66} {295 67} {296 68} {340 69}} + 83 {{16 {0 304} 1}} + 84 {{17 {0 304} 1}} + 44,trans {{304 108}} + 85 {{18 {0 304} 1}} 63,trans {} - 86 {{40 {0 284 285 286 287 288 289 290 298} 1}} 82,trans {} - 87 {{41 {0 284 285 286 287 288 289 290 298} 1}} - 0 {{0 0 0} {42 0 0} {44 0 0} {46 {0 298} 0} {47 {0 298} 0} {49 {0 298} 0} {45 {299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314} 0} {70 {0 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314} 0} {71 {0 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314} 0}} - 88 {{66 {0 298} 2} {67 {0 298} 2} {28 {0 298} 0} {29 {0 298} 0} {30 {0 298} 0} {31 {0 298} 0} {32 {0 298} 0} {33 {0 298} 0} {34 {0 298} 0}} - 1 {{70 {0 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314} 1}} - 89 {{55 {0 298} 3}} - 90 {{37 {0 298} 1}} - 2 {{71 {0 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314} 1}} - 91 {{38 {0 298} 1}} + 86 {{19 {0 304} 1}} + 87 {{20 {0 304} 1}} + 0 {{0 0 0} {49 0 0} {51 0 0} {53 {0 304} 0} {54 {0 304} 0} {56 {0 304} 0} {52 {305 306 307 308 309 311 312 313 316 317 318 319 320 321 322 323 324 325 326 327 328 329} 0} {85 {0 304 305 306 307 308 309 311 312 313 316 317 318 319 320 321 322 323 324 325 326 327 328 329} 0} {86 {0 304 305 306 307 308 309 311 312 313 316 317 318 319 320 321 322 323 324 325 326 327 328 329} 0}} + 88 {{21 {0 304} 1}} + 1 {{85 {0 304 305 306 307 308 309 311 312 313 316 317 318 319 320 321 322 323 324 325 326 327 328 329} 1}} + 89 {{22 {0 304} 1}} + 90 {{23 {0 304} 1}} + 114,trans {{297 110} {298 111} {299 112} {342 120}} + 2 {{86 {0 304 305 306 307 308 309 311 312 313 316 317 318 319 320 321 322 323 324 325 326 327 328 329} 1}} + 91 {{24 {0 304} 1}} 3 {{0 0 1}} - 92 {{39 {0 298} 1}} - 4 {{42 0 1} {44 0 1} {43 298 0}} - 93 {{60 {0 298} 3}} - 5 {{46 {0 298} 1} {50 {0 298} 0} {51 {0 298} 0} {52 {0 298} 0} {53 {0 298} 0} {54 {0 298} 0} {55 {0 298} 0} {56 {0 298} 0} {57 {0 298} 0} {58 {0 298} 0} {59 {0 298} 0} {60 {0 298} 0} {61 {0 298} 0} {62 {0 298} 0} {63 {0 298} 0} {64 {0 298} 0} {65 {0 298} 0}} - 94 {{61 {0 298} 3} {37 {0 298} 0} {38 {0 298} 0} {39 {0 298} 0}} - 6 {{47 {0 298} 1} {49 {0 298} 1} {48 {299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314} 0}} - 95 {{69 {0 298} 3}} - 7 {{44 0 2}} - 96 {{67 {0 298} 3}} - 8 {{50 {0 298} 1}} - 97 {{61 {0 298} 4}} - 9 {{52 {0 298} 1}} - 24,trans {} + 92 {{25 {0 304} 1}} + 4 {{49 0 1} {51 0 1} {50 304 0}} + 93 {{26 {0 304} 1}} + 5 {{53 {0 304} 1} {57 {0 304} 0} {58 {0 304} 0} {59 {0 304} 0} {60 {0 304} 0} {61 {0 304} 0} {62 {0 304} 0} {63 {0 304} 0} {64 {0 304} 0} {65 {0 304} 0} {66 {0 304} 0} {67 {0 304} 0} {68 {0 304} 0} {69 {0 304} 0} {70 {0 304} 0} {71 {0 304} 0} {72 {0 304} 0} {73 {0 304} 0} {74 {0 304} 0} {75 {0 304} 0} {76 {0 304} 0} {77 {0 304} 0} {78 {0 304} 0}} + 94 {{27 {0 304} 1}} + 6 {{54 {0 304} 1} {56 {0 304} 1} {55 {305 306 307 308 309 311 312 313 316 317 318 319 320 321 322 323 324 325 326 327 328 329} 0}} + 95 {{28 {0 304} 1}} + 7 {{51 0 2}} + 96 {{29 {0 304} 1}} + 8 {{57 {0 304} 1}} + 97 {{30 {0 304} 1}} + 9 {{58 {0 304} 1}} + 98 {{31 {0 304} 1}} + 24,trans {{301 33} {302 34} {343 61}} + 99 {{32 {0 304} 1}} 43,trans {} 62,trans {} 81,trans {} - 23,trans {} - 42,trans {{291 90} {292 91} {293 92} {326 93}} - 61,trans {} - 79,trans {} + 99,trans {} + 113,trans {} + 23,trans {{257 49} {258 50} {259 51} {260 52} {261 53} {262 54} {338 60}} + 42,trans {} + 61,trans {{301 56} {302 57} {343 114}} 80,trans {} + 79,trans {} + 98,trans {} 9,trans {} - 22,trans {{257 56} {258 57} {259 58} {260 59} {261 60} {262 61} {263 62} {264 63} {265 64} {266 65} {267 66} {268 67} {269 68} {270 69} {271 70} {272 71} {273 72} {274 73} {275 74} {276 75} {277 76} {278 77} {279 78} {280 79} {281 80} {282 81} {283 82} {323 83}} + 112,trans {} + 22,trans {{304 59}} 41,trans {} 59,trans {} 60,trans {} 78,trans {} 97,trans {} 8,trans {} - 21,trans {{291 53} {294 54} {325 55}} + 111,trans {} + 100 {{33 {0 304} 1}} + 101 {{34 {0 304} 1}} + 102 {{77 {0 304} 2}} + 103 {{56 {0 304} 3}} + 104 {{81 {0 304} 2} {82 {0 304} 2} {35 {0 304} 0} {36 {0 304} 0} {37 {0 304} 0} {38 {0 304} 0} {39 {0 304} 0} {40 {0 304} 0} {41 {0 304} 0}} + 105 {{47 {0 290 291 292 293 294 295 296 304} 1}} + 21,trans {} + 106 {{48 {0 290 291 292 293 294 295 296 304} 1}} + 107 {{79 {0 304} 2} {80 {0 304} 2} {35 {0 304} 0} {36 {0 304} 0} {37 {0 304} 0} {38 {0 304} 0} {39 {0 304} 0} {40 {0 304} 0} {41 {0 304} 0}} 39,trans {} 40,trans {} - 58,trans {} + 108 {{62 {0 304} 3}} + 58,trans {{297 110} {298 111} {299 112} {342 113}} 77,trans {} + 109 {{83 {0 304} 2}} + 110 {{44 {0 304} 1}} 96,trans {} - 7,trans {{298 26}} - 19,trans {{295 27} {296 28} {327 44}} - 20,trans {{284 45} {285 46} {286 47} {287 48} {288 49} {289 50} {290 51} {324 52}} - 38,trans {{298 89}} + 7,trans {{304 32}} + 111 {{45 {0 304} 1}} + 112 {{46 {0 304} 1}} + 113 {{68 {0 304} 3}} + 110,trans {} + 109,trans {} + 114 {{73 {0 304} 3} {44 {0 304} 0} {45 {0 304} 0} {46 {0 304} 0}} + 115 {{90 {0 304} 1}} + 116 {{89 {0 304} 1}} + 117 {{88 {0 304} 2}} + 118 {{82 {0 304} 3}} + 120 {{73 {0 304} 4}} + 119 {{80 {0 304} 3}} + 19,trans {{301 56} {302 57} {343 58}} + 20,trans {} + 38,trans {} 57,trans {} 76,trans {} 95,trans {} - 6,trans {{332 25}} - 18,trans {{298 43}} + 6,trans {{348 31}} + 108,trans {} + 18,trans {} 37,trans {} 56,trans {} 75,trans {} - 94,trans {{291 90} {292 91} {293 92} {326 97}} - 5,trans {{299 8} {300 9} {301 10} {302 11} {303 12} {304 13} {305 14} {306 15} {307 16} {308 17} {309 18} {310 19} {311 20} {312 21} {313 22} {314 23} {333 24}} - 17,trans {} - 36,trans {} + 94,trans {} + 5,trans {{305 8} {306 9} {307 10} {308 11} {309 12} {311 13} {312 14} {313 15} {316 16} {317 17} {318 18} {319 19} {320 20} {321 21} {322 22} {323 23} {324 24} {325 25} {326 26} {327 27} {328 28} {329 29} {349 30}} + 107,trans {{290 62} {291 63} {292 64} {293 65} {294 66} {295 67} {296 68} {340 119}} + 17,trans {{257 49} {258 50} {259 51} {260 52} {261 53} {262 54} {338 55}} + 36,trans {{301 105} {302 106} {343 107}} 55,trans {} 74,trans {} - 4,trans {{329 7}} 93,trans {} - 16,trans {{295 40} {296 41} {327 42}} - 35,trans {} + 4,trans {{345 7}} + 106,trans {} + 16,trans {{304 48}} + 35,trans {{303 104}} 54,trans {} - 73,trans {} - 3,trans {} + 73,trans {{310 115} {314 116} {354 117}} 92,trans {} + 3,trans {} + 105,trans {} 15,trans {} 34,trans {} 53,trans {} 72,trans {} - 2,trans {} 91,trans {} - 14,trans {{298 39}} + 2,trans {} + 104,trans {{290 62} {291 63} {292 64} {293 65} {294 66} {295 67} {296 68} {340 118}} + 14,trans {{304 45} {315 46} {351 47}} 33,trans {} 52,trans {} 71,trans {} - 1,trans {} - 89,trans {} 90,trans {} - 13,trans {{317 32} {318 33} {319 34} {320 35} {321 36} {322 37} {336 38}} + 89,trans {} + 1,trans {} + 103,trans {} + 13,trans {{332 38} {333 39} {334 40} {335 41} {336 42} {337 43} {355 44}} 32,trans {} 51,trans {} 69,trans {} 70,trans {} - 0,trans {{315 1} {316 2} {328 3} {330 4} {331 5} {335 6}} - 88,trans {{284 45} {285 46} {286 47} {287 48} {288 49} {289 50} {290 51} {324 96}} + 88,trans {} + 0,trans {{330 1} {331 2} {344 3} {346 4} {347 5} {352 6}} + 102,trans {} 12,trans {} - 31,trans {} + 31,trans {{305 8} {306 9} {307 10} {308 11} {309 12} {311 13} {312 14} {313 15} {316 16} {317 17} {318 18} {319 19} {320 20} {321 21} {322 22} {323 23} {324 24} {325 25} {326 26} {327 27} {328 28} {329 29} {349 103}} 49,trans {} 50,trans {} 68,trans {} 87,trans {} - 10 {{51 {0 298} 1}} - 11 {{53 {0 298} 1} {66 {0 298} 0} {67 {0 298} 0} {68 {0 298} 0} {69 {0 298} 0} {40 {295 296} 0} {41 {295 296} 0}} - 12 {{54 {0 298} 1}} - 13 {{55 {0 298} 1} {72 298 0} {73 298 0} {74 298 0} {75 298 0} {76 298 0} {77 298 0}} - 14 {{57 {0 298} 1}} - 11,trans {{295 27} {296 28} {297 29} {327 30} {334 31}} - 15 {{58 {0 298} 1}} - 16 {{60 {0 298} 1} {40 {291 292 293} 0} {41 {291 292 293} 0}} - 29,trans {{297 85}} - 30,trans {{295 86} {296 87} {327 88}} - 17 {{59 {0 298} 1}} + 101,trans {} + 120,trans {} + 119,trans {} + 10 {{59 {0 304} 1}} + 11 {{60 {0 304} 1} {79 {0 304} 0} {80 {0 304} 0} {81 {0 304} 0} {82 {0 304} 0} {47 {301 302} 0} {48 {301 302} 0}} + 12 {{61 {0 304} 1}} + 13 {{62 {0 304} 1} {91 304 0} {92 304 0} {93 304 0} {94 304 0} {95 304 0} {96 304 0}} + 14 {{63 {0 304} 1} {83 {0 304} 0} {84 {0 304} 0}} + 15 {{64 {0 304} 1}} + 11,trans {{301 33} {302 34} {303 35} {343 36} {350 37}} + 16 {{65 {0 304} 1}} + 29,trans {} + 30,trans {} + 17 {{66 {0 304} 1} {1 {0 304} 0} {2 {0 304} 0} {3 {0 304} 0} {4 {0 304} 0} {5 {0 304} 0} {6 {0 304} 0} {7 {0 304} 0}} 48,trans {} - 18 {{56 {0 298} 1}} + 18 {{67 {0 304} 1}} 67,trans {} - 20 {{62 {0 298} 1} {28 {0 298} 0} {29 {0 298} 0} {30 {0 298} 0} {31 {0 298} 0} {32 {0 298} 0} {33 {0 298} 0} {34 {0 298} 0}} - 19 {{61 {0 298} 1} {40 {295 296} 0} {41 {295 296} 0}} 86,trans {} - 21 {{63 {0 298} 1} {35 {0 298} 0} {36 {0 298} 0}} - 22 {{64 {0 298} 1} {1 {0 298} 0} {2 {0 298} 0} {3 {0 298} 0} {4 {0 298} 0} {5 {0 298} 0} {6 {0 298} 0} {7 {0 298} 0} {8 {0 298} 0} {9 {0 298} 0} {10 {0 298} 0} {11 {0 298} 0} {12 {0 298} 0} {13 {0 298} 0} {14 {0 298} 0} {15 {0 298} 0} {16 {0 298} 0} {17 {0 298} 0} {18 {0 298} 0} {19 {0 298} 0} {20 {0 298} 0} {21 {0 298} 0} {22 {0 298} 0} {23 {0 298} 0} {24 {0 298} 0} {25 {0 298} 0} {26 {0 298} 0} {27 {0 298} 0}} - 23 {{65 {0 298} 1}} - 24 {{46 {0 298} 2}} - 25 {{49 {0 298} 2} {50 {0 298} 0} {51 {0 298} 0} {52 {0 298} 0} {53 {0 298} 0} {54 {0 298} 0} {55 {0 298} 0} {56 {0 298} 0} {57 {0 298} 0} {58 {0 298} 0} {59 {0 298} 0} {60 {0 298} 0} {61 {0 298} 0} {62 {0 298} 0} {63 {0 298} 0} {64 {0 298} 0} {65 {0 298} 0}} - 26 {{44 0 3}} - 27 {{40 {295 296} 1}} - 28 {{41 {295 296} 1}} - 30 {{66 {0 298} 1} {67 {0 298} 1} {40 {0 284 285 286 287 288 289 290 298} 0} {41 {0 284 285 286 287 288 289 290 298} 0}} - 29 {{68 {0 298} 1} {69 {0 298} 1}} - 31 {{53 {0 298} 2}} - 32 {{72 298 1}} + 20 {{69 {0 304} 1}} + 19 {{68 {0 304} 1} {47 {297 298 299} 0} {48 {297 298 299} 0}} + 21 {{70 {0 304} 1}} + 22 {{71 {0 304} 1}} + 100,trans {} + 23 {{72 {0 304} 1} {1 {0 304} 0} {2 {0 304} 0} {3 {0 304} 0} {4 {0 304} 0} {5 {0 304} 0} {6 {0 304} 0} {7 {0 304} 0}} + 118,trans {} + 24 {{73 {0 304} 1} {47 {301 302} 0} {48 {301 302} 0}} + 25 {{74 {0 304} 1} {35 {0 304} 0} {36 {0 304} 0} {37 {0 304} 0} {38 {0 304} 0} {39 {0 304} 0} {40 {0 304} 0} {41 {0 304} 0}} + 26 {{75 {0 304} 1} {42 {0 304} 0} {43 {0 304} 0}} + 27 {{76 {0 304} 1} {87 {0 304} 0} {88 {0 304} 0}} + 28 {{77 {0 304} 1} {8 {0 304} 0} {9 {0 304} 0} {10 {0 304} 0} {11 {0 304} 0} {12 {0 304} 0} {13 {0 304} 0} {14 {0 304} 0} {15 {0 304} 0} {16 {0 304} 0} {17 {0 304} 0} {18 {0 304} 0} {19 {0 304} 0} {20 {0 304} 0} {21 {0 304} 0} {22 {0 304} 0} {23 {0 304} 0} {24 {0 304} 0} {25 {0 304} 0} {26 {0 304} 0} {27 {0 304} 0} {28 {0 304} 0} {29 {0 304} 0} {30 {0 304} 0} {31 {0 304} 0} {32 {0 304} 0} {33 {0 304} 0} {34 {0 304} 0}} + 30 {{53 {0 304} 2}} + 29 {{78 {0 304} 1}} + 31 {{56 {0 304} 2} {57 {0 304} 0} {58 {0 304} 0} {59 {0 304} 0} {60 {0 304} 0} {61 {0 304} 0} {62 {0 304} 0} {63 {0 304} 0} {64 {0 304} 0} {65 {0 304} 0} {66 {0 304} 0} {67 {0 304} 0} {68 {0 304} 0} {69 {0 304} 0} {70 {0 304} 0} {71 {0 304} 0} {72 {0 304} 0} {73 {0 304} 0} {74 {0 304} 0} {75 {0 304} 0} {76 {0 304} 0} {77 {0 304} 0} {78 {0 304} 0}} 10,trans {} - 33 {{73 298 1}} - 28,trans {} - 34 {{74 298 1}} + 32 {{51 0 3}} + 33 {{47 {301 302} 1}} + 28,trans {{263 75} {264 76} {265 77} {266 78} {267 79} {268 80} {269 81} {270 82} {271 83} {272 84} {273 85} {274 86} {275 87} {276 88} {277 89} {278 90} {279 91} {280 92} {281 93} {282 94} {283 95} {284 96} {285 97} {286 98} {287 99} {288 100} {289 101} {339 102}} + 34 {{48 {301 302} 1}} 47,trans {} } array set fp::token_id_table { - 286 FK5_ + 286 WCSW_ 286,t 0 - 287 J2000_ + 287 WCSX_ 292,line 44 - 302,line 61 - 288 ICRS_ + 302,line 57 + 288 WCSY_ 317,t 0 - 265,title WCSH - 289 GALACTIC_ - 290 ECLIPTIC_ - 300 CLEAR_ - 284,title FK4 - 291 DEGREES_ - 301 CLOSE_ - 313,title SYSTEM - 292 ARCMIN_ - 302 COORDINATE_ - 332,title {} + 265,title WCSB + 289 WCSZ_ + 290 FK4_ + 300 SEXAGESIMAL_ + 284,title WCSU + 291 B1950_ + 301 INT_ + 313,title HIDE + 292 FK5_ + 302 REAL_ + 338,t 1 + 332,title XML 288,line 39 - 293 ARCSEC_ - 303 CROSSHAIR_ - 294 SEXAGESIMAL_ - 304 EXPORT_ - 305 NAME_ - 295 INT_ - 306 PRINT_ - 296 REAL_ - 307 RADIUS_ + 293 J2000_ + 303 SEXSTR_ + 351,title {} + 294 ICRS_ + 304 STRING_ + 354,line 266 + 305 CANCEL_ + 295 GALACTIC_ + 306 CLEAR_ + 296 ECLIPTIC_ + 307 CLOSE_ 262,t 0 - 297 SEXSTR_ - 308 RETRIEVE_ + 297 DEGREES_ + 308 COORDINATE_ 285,line 36 - 298 STRING_ - 310 SIZE_ - 309 SAVE_ - 299 CANCEL_ - 311 SKY_ + 298 ARCMIN_ + 310 DECR_ + 309 CROSSHAIR_ + 299 ARCSEC_ + 351,line 254 + 311 EXPORT_ 283,t 0 - 312 SKYFORMAT_ - 313 SYSTEM_ + 312 FILTER_ + 313 HIDE_ 314,t 0 - 314 UPDATE_ - 282,line 32 - 315 CXC_ - 316 HLA_ - 264,title WCSG - 335,t 1 - 317 XML_ - 283,title WCSZ - 318 VOT_ - 312,title SKYFORMAT - 331,title {} - 320 STARBASE_ - 319 SB_ - 278,line 28 - error,line 133 - 321 CSV_ - 322 TSV_ + 314 INCR_ + 282,line 33 + 315 LOAD_ + 347,line 218 + 316 NAME_ + 264,title WCSA + 335,t 0 + 317 PANTO_ + 283,title WCST + 318 PRINT_ + 312,title FILTER + 331,title HLA + 320 REGIONS_ + 319 RADIUS_ + 278,line 29 + 356,t 1 + 350,title {} + 349,title {} + error,line 157 + 321 RETRIEVE_ + 344,line 214 + 322 SAVE_ 258,t 0 - 323 wcssys - 324 skyframe - 325 skyformat - 275,line 25 + 323 SHOW_ + 324 SIZE_ + 325 SKY_ + 275,line 26 279,t 0 280,t 0 - 326 rformat - 327 numeric - 328 command + 326 SKYFORMAT_ + 341,line 202 + 327 SORT_ + 328 SYSTEM_ 311,t 0 - 330 fp - 329 @PSEUDO1 - 331 @PSEUDO2 - 272,line 22 - 332,t 1 - 332 @PSEUDO3 - 337,line 227 - 333 fpCmd - 263,title WCSF - 334 coordinate - 282,title WCSY - 335 site - 311,title SKY - 336 writer - 330,title {} - 329,title {} - 268,line 18 - 337 start' - 334,line 210 + 330 CXC_ + 329 UPDATE_ + 331 HLA_ + 272,line 23 + 332,t 0 + 332 XML_ + 337,line 99 + 333 VOT_ + 263,title WCS + 334 SB_ + 282,title WCSS + 353,t 1 + 335 STARBASE_ + 311,title EXPORT + 336 CSV_ + 330,title CXC + 329,title UPDATE + 268,line 19 + 348,title {} + 337 TSV_ + 338 yesno + 334,line 96 + 340 skyframe + 339 wcssys 276,t 0 - 265,line 15 + 341 skyformat + 342 rformat + 265,line 16 + 343 numeric 307,t 0 297,t 0 - 331,line 186 - 328,t 1 + 344 command + 331,line 92 + 345 @PSEUDO1 + 346 fp + 328,t 0 + 347 @PSEUDO2 262,line 12 - 327,line 178 + 348 @PSEUDO3 + 350,t 1 + 350 coordinate + 349,t 1 + 349 fpCmd 0,t 0 0 {$} - 262,title WCSE - 281,title WCSX + 327,line 87 + 262,title FALSE + 351 filter + 281,title WCSR + 352 site error,t 0 - 310,title SIZE - 309,title SAVE - 299,title CANCEL - 328,title {} + 310,title DECR + 309,title CROSSHAIR + 299,title ARCSEC + 353 sort + 328,title SYSTEM 258,line 8 + 354 sortDir + 347,title {} 273,t 0 - 324,line 162 + 355 writer + 324,line 84 + 356 start' 294,t 0 304,t 0 - 325,t 1 - 321,line 82 - 317,line 78 - 261,title WCSD - 279,title WCSV - 280,title WCSW - 308,title RETRIEVE + 325,t 0 + 321,line 81 + 346,t 1 + 317,line 77 + 261,title TRUE + 279,title WCSP + 280,title WCSQ + 308,title COORDINATE 269,t 0 270,t 0 - 298,title string - 327,title {} - 314,line 73 + 298,title ARCMIN + 327,title SORT + 346,title {} + 314,line 74 291,t 0 301,t 0 322,t 0 - 311,line 70 - 307,line 66 + 311,line 71 + 343,t 1 + 307,line 67 266,t 0 - 260,title WCSC - 259,title WCSB - 297,line 52 - 278,title WCSU - 307,title RADIUS - 297,title sexagesimal - 326,title {} + 260,title OFF + 259,title ON + 297,line 50 + 278,title WCSO + 307,title CLOSE + 297,title DEGREES + 326,title SKYFORMAT 287,t 0 - 294,line 47 - 304,line 63 + 345,title {} + 294,line 46 + 304,line 61 318,t 0 + 340,t 1 + 339,t 1 error,title {} 291,line 43 - 301,line 60 + 301,line 56 + 356,line 277 263,t 0 - 258,title WCSA + 258,title NO 287,line 38 - 277,title WCST + 277,title WCSN 284,t 0 - 306,title PRINT - 296,title float - 325,title {} + 353,line 262 + 306,title CLEAR + 296,title ECLIPTIC + 325,title SKY + 344,title {} 315,t 0 284,line 35 - 336,t 1 - 281,line 31 + 350,line 248 + 349,line 223 + 336,t 0 + 281,line 32 260,t 0 259,t 0 + 346,line 218 281,t 0 - 257,title WCS - 277,line 27 - 276,title WCSS + 257,title YES + 277,line 28 + 276,title WCSM + 343,line 210 312,t 0 - 305,title NAME - 295,title integer - 324,title {} - 333,t 1 - 274,line 24 - 271,line 21 - 336,line 220 + 305,title CANCEL + 295,title GALACTIC + 324,title SIZE + 343,title {} + 333,t 0 + 274,line 25 + 340,line 194 + 339,line 166 + 354,t 1 + 271,line 22 + 336,line 98 277,t 0 308,t 0 - 267,line 17 + 267,line 18 298,t 0 - 275,title WCSR - 333,line 191 - 294,title SEXAGESIMAL - 304,title EXPORT - 330,t 1 - 329,t 1 - 323,title {} - 264,line 14 - 330,line 186 - 329,line 183 + 275,title WCSL + 333,line 95 + 294,title ICRS + 304,title string + 330,t 0 + 329,t 0 + 323,title SHOW + 342,title {} + 264,line 15 + 351,t 1 + 330,line 91 + 329,line 89 261,line 11 274,t 0 - 326,line 174 + 326,line 86 305,t 0 295,t 0 257,line 7 - 326,t 1 - 274,title WCSQ - 323,line 134 - 293,title ARCSEC - 303,title CROSSHAIR - 322,title TSV - 320,line 81 - 319,line 80 + 326,t 0 + 274,title WCSK + 323,line 83 + 293,title J2000 + 303,title sexagesimal + 322,title SAVE + 347,t 1 + 341,title {} + 320,line 80 + 319,line 79 error error 271,t 0 292,t 0 302,t 0 316,line 76 - 323,t 1 - 273,title WCSP - 313,line 72 - 292,title ARCMIN - 302,title COORDINATE - 321,title CSV + 323,t 0 + 273,title WCSJ + 344,t 1 + 313,line 73 + 292,title FK5 + 302,title float + 321,title RETRIEVE + 340,title {} + 339,title {} 267,t 0 - 310,line 69 - 309,line 68 - 299,line 58 + 310,line 70 + 309,line 69 + 299,line 52 288,t 0 320,t 0 319,t 0 - 306,line 65 - 296,line 50 - 272,title WCSO - 291,title DEGREES + 306,line 66 + 296,line 48 + 341,t 1 + 272,title WCSI + 291,title B1950 293,line 45 - 301,title CLOSE - 303,line 62 - 320,title STARBASE - 319,title SB + 301,title integer + 303,line 59 + 320,title REGIONS + 319,title RADIUS + 338,title {} 264,t 0 285,t 0 289,line 40 - 290,line 41 - 300,line 59 + 290,line 42 + 300,line 54 + 355,line 270 316,t 0 286,line 37 - 337,t 1 - 271,title WCSN + 337,t 0 + 352,line 258 + 271,title WCSH 261,t 0 - 283,line 33 - 289,title GALACTIC - 290,title ECLIPTIC - 300,title CLEAR - 318,title VOT - 337,title {} + 283,line 34 + 289,title WCSZ + 290,title FK4 + 300,title SEXAGESIMAL + 318,title PRINT + 348,line 220 + 337,title TSV + 356,title {} 282,t 0 - 279,line 29 - 280,line 30 + 279,line 30 + 280,line 31 313,t 0 - 334,t 1 - 276,line 26 + 345,line 215 + 334,t 0 + 276,line 27 + 355,t 1 + 342,line 206 257,t 0 - 269,title WCSL - 270,title WCSM - 273,line 23 - 288,title ICRS - 317,title XML + 269,title WCSF + 270,title WCSG + 273,line 24 + 288,title WCSY + 317,title PANTO 278,t 0 - 336,title {} + 338,line 158 + 336,title CSV + 355,title {} 310,t 0 309,t 0 299,t 0 - 269,line 19 - 270,line 20 - 335,line 216 - 331,t 1 - 266,line 16 - 332,line 188 - 268,title WCSK + 269,line 20 + 270,line 21 + 335,line 97 + 331,t 0 + 352,t 1 + 266,line 17 + 332,line 94 + 268,title WCSE 275,t 0 - 263,line 13 - 287,title J2000 - 316,title HLA - 335,title {} - 328,line 182 + 263,line 14 + 287,title WCSX + 316,title NAME + 335,title STARBASE + 328,line 88 306,t 0 296,t 0 - 327,t 1 + 354,title {} + 327,t 0 260,line 10 259,line 9 - 325,line 170 - 322,line 83 + 325,line 85 + 348,t 1 + 322,line 82 272,t 0 - 267,title WCSJ - 257 WCS_ - 286,title FK5 + 267,title WCSD + 257 YES_ + 286,title WCSW 293,t 0 303,t 0 - 315,title CXC - 258 WCSA_ - 334,title {} - 318,line 79 - 260 WCSC_ - 259 WCSB_ - 324,t 1 - 261 WCSD_ - 262 WCSE_ - 263 WCSF_ - 264 WCSG_ + 315,title LOAD + 258 NO_ + 334,title SB + 318,line 78 + 260 OFF_ + 259 ON_ + 353,title {} + 324,t 0 + 261 TRUE_ + 262 FALSE_ + 263 WCS_ + 345,t 1 + 264 WCSA_ 315,line 75 - 265 WCSH_ - 266 WCSI_ - 267 WCSJ_ + 265 WCSB_ + 266 WCSC_ + 267 WCSD_ 268,t 0 - 268 WCSK_ - 269 WCSL_ - 270 WCSM_ - 312,line 71 - 271 WCSN_ - 272 WCSO_ + 268 WCSE_ + 269 WCSF_ + 270 WCSG_ + 312,line 72 + 271 WCSH_ + 272 WCSI_ 289,t 0 290,t 0 300,t 0 - 266,title WCSI - 273 WCSP_ - 274 WCSQ_ - 285,title B1950 + 266,title WCSC + 273 WCSJ_ + 274 WCSK_ + 285,title WCSV 321,t 0 - 314,title UPDATE - 275 WCSR_ - 333,title {} - 308,line 67 - 276 WCSS_ - 298,line 54 - 277 WCST_ - 278 WCSU_ - 279 WCSV_ - 280 WCSW_ - 281 WCSX_ - 305,line 64 - 282 WCSY_ - 295,line 49 + 314,title INCR + 275 WCSL_ + 333,title VOT + 308,line 68 + 276 WCSM_ + 298,line 51 + 352,title {} + 277 WCSN_ + 342,t 1 + 278 WCSO_ + 279 WCSP_ + 280 WCSQ_ + 281 WCSR_ + 305,line 65 + 282 WCSS_ + 295,line 47 265,t 0 - 283 WCSZ_ - 284 FK4_ - 285 B1950_ + 283 WCST_ + 284 WCSU_ + 285 WCSV_ } proc fp::yyparse {} { @@ -1662,78 +2039,95 @@ proc fp::yyparse {} { set _ $1 set yylval [lindex $value_stack end] switch -- $rule { - 1 { set _ wcs } - 2 { set _ wcsa } - 3 { set _ wcsb } - 4 { set _ wcsc } - 5 { set _ wcsd } - 6 { set _ wcse } - 7 { set _ wcsf } - 8 { set _ wcsg } - 9 { set _ wcsh } - 10 { set _ wcsi } - 11 { set _ wcsj } - 12 { set _ wcsk } - 13 { set _ wcsl } - 14 { set _ wcsm } - 15 { set _ wcsn } - 16 { set _ wcso } - 17 { set _ wcsp } - 18 { set _ wcsq } - 19 { set _ wcsr } - 20 { set _ wcss } - 21 { set _ wcst } - 22 { set _ wcsu } - 23 { set _ wcsv } - 24 { set _ wcsw } - 25 { set _ wcsx } - 26 { set _ wcsy } - 27 { set _ wcsz } - 28 { set _ fk4 } - 29 { set _ fk4 } - 30 { set _ fk5 } - 31 { set _ fk5 } - 32 { set _ icrs } - 33 { set _ galactic } - 34 { set _ ecliptic } - 35 { set _ degrees } - 36 { set _ sexagesimal } - 37 { set _ degrees } - 38 { set _ arcmin } - 39 { set _ arcsec } - 40 { set _ $1 } - 41 { set _ $1 } - 43 { global ds9; if {!$ds9(init)} {YYERROR} else {yyclearin; YYACCEPT} } - 45 { if {![FPCmdCheck]} {fp::YYABORT} } - 47 { FPCmdRef $1 } - 48 { FPCmdRef $1 } - 50 { ProcessCmdCVAR0 ARCancel } - 51 { ProcessCmdCVAR0 FPDestroy } - 52 { ProcessCmdCVAR0 FPOff } - 54 { ProcessCmdCVAR0 IMGSVRCrosshair } - 55 { TBLCmdSave $3 $2 } - 56 { TBLCmdSave $2 VOTWrite } - 57 { ProcessCmdCVAR name $2 } - 58 { ProcessCmdCVAR0 TBLCmdPrint } - 59 { global cvarname; FPApply $cvarname 1 } - 60 { TBLCmdSize $2 $3 } - 61 { TBLCmdSize [expr ($2+$3)/2.] $4 } - 62 { TBLCmdSkyframe $2 } - 63 { ProcessCmdCVAR skyformat $2 } - 64 { TBLCmdSystem $2 } - 65 { ProcessCVAR0 IMGSVRUpdate } - 66 { TBLCmdCoord $1 $2 fk5 } - 67 { TBLCmdCoord $1 $2 $3 } - 68 { TBLCmdCoord $1 $2 fk5 } - 69 { TBLCmdCoord $1 $2 $3 } - 70 { set _ cxc } - 71 { set _ hla } - 72 { set _ VOTWrite } - 73 { set _ VOTWrite } - 74 { set _ starbase_write } - 75 { set _ starbase_write } - 76 { set _ TSVWrite } - 77 { set _ TSVWrite } + 1 { set _ 1 } + 2 { set _ 1 } + 3 { set _ 1 } + 4 { set _ 1 } + 5 { set _ 0 } + 6 { set _ 0 } + 7 { set _ 0 } + 8 { set _ wcs } + 9 { set _ wcsa } + 10 { set _ wcsb } + 11 { set _ wcsc } + 12 { set _ wcsd } + 13 { set _ wcse } + 14 { set _ wcsf } + 15 { set _ wcsg } + 16 { set _ wcsh } + 17 { set _ wcsi } + 18 { set _ wcsj } + 19 { set _ wcsk } + 20 { set _ wcsl } + 21 { set _ wcsm } + 22 { set _ wcsn } + 23 { set _ wcso } + 24 { set _ wcsp } + 25 { set _ wcsq } + 26 { set _ wcsr } + 27 { set _ wcss } + 28 { set _ wcst } + 29 { set _ wcsu } + 30 { set _ wcsv } + 31 { set _ wcsw } + 32 { set _ wcsx } + 33 { set _ wcsy } + 34 { set _ wcsz } + 35 { set _ fk4 } + 36 { set _ fk4 } + 37 { set _ fk5 } + 38 { set _ fk5 } + 39 { set _ icrs } + 40 { set _ galactic } + 41 { set _ ecliptic } + 42 { set _ degrees } + 43 { set _ sexagesimal } + 44 { set _ degrees } + 45 { set _ arcmin } + 46 { set _ arcsec } + 47 { set _ $1 } + 48 { set _ $1 } + 50 { global ds9; if {!$ds9(init)} {YYERROR} else {yyclearin; YYACCEPT} } + 52 { if {![FPCmdCheck]} {fp::YYABORT} } + 54 { FPCmdRef $1 } + 55 { FPCmdRef $1 } + 57 { ProcessCmdCVAR0 ARCancel } + 58 { ProcessCmdCVAR0 FPOff } + 59 { ProcessCmdCVAR0 FPDestroy } + 61 { ProcessCmdCVAR0 TBLCrosshair } + 62 { TBLCmdSave $3 $2 } + 64 { ProcessCmdCVAR show 0 FPGenerate } + 65 { ProcessCmdCVAR name $2 } + 66 { ProcessCmdCVAR panto $2 } + 67 { ProcessCmdCVAR0 TBLCmdPrint } + 68 { TBLCmdSize $2 $3 } + 69 { ProcessCmdCVAR0 FPGenerateRegions } + 70 { global cvarname; FPApply $cvarname 1 } + 71 { TBLCmdSave $2 VOTWrite } + 72 { ProcessCmdCVAR show $2 FPGenerate } + 73 { TBLCmdSize [expr ($2+$3)/2.] $4 } + 74 { TBLCmdSkyframe $2 } + 75 { ProcessCmdCVAR skyformat $2 } + 77 { TBLCmdSystem $2 } + 78 { ProcessCVAR0 TBLUpdate } + 79 { TBLCmdCoord $1 $2 fk5 } + 80 { TBLCmdCoord $1 $2 $3 } + 81 { TBLCmdCoord $1 $2 fk5 } + 82 { TBLCmdCoord $1 $2 $3 } + 83 { TBLCmdFilterLoad $2 } + 84 { ProcessCmdCVAR filter $1 FPTable } + 85 { set _ cxc } + 86 { set _ hla } + 87 { ProcessCmdCVAR sort $1; ProcessCmdCVAR sort,dir "-increasing" FPTable } + 88 { ProcessCmdCVAR sort $1; ProcessCmdCVAR sort,dir $2 FPTable } + 89 { set _ "-increasing" } + 90 { set _ "-decreasing" } + 91 { set _ VOTWrite } + 92 { set _ VOTWrite } + 93 { set _ starbase_write } + 94 { set _ starbase_write } + 95 { set _ TSVWrite } + 96 { set _ TSVWrite } } unsetupvalues $dc # pop off tokens from the stack if normal rule diff --git a/ds9/parsers/siaparser.tac b/ds9/parsers/siaparser.tac index a16cd08..ba635a9 100644 --- a/ds9/parsers/siaparser.tac +++ b/ds9/parsers/siaparser.tac @@ -63,22 +63,22 @@ sia : {if {![SIACmdCheck]} {sia::YYABORT}} siaCmd ; siaCmd : CANCEL_ {ProcessCmdCVAR0 ARCancel} - | CLOSE_ {ProcessCmdCVAR0 SIADestroy} | CLEAR_ {ProcessCmdCVAR0 SIAOff} + | CLOSE_ {ProcessCmdCVAR0 SIADestroy} | COORDINATE_ coordinate - | CROSSHAIR_ {ProcessCmdCVAR0 IMGSVRCrosshair} + | CROSSHAIR_ {ProcessCmdCVAR0 TBLCrosshair} | EXPORT_ writer STRING_ {TBLCmdSave $3 $2} - | SAVE_ STRING_ {TBLCmdSave $2 VOTWrite} | NAME_ STRING_ {ProcessCmdCVAR name $2} | PRINT_ {ProcessCmdCVAR0 TBLCmdPrint} | RETRIEVE_ {global cvarname; SIAApply $cvarname 1} | RADIUS_ numeric rformat {TBLCmdSize $2 $3} + | SAVE_ STRING_ {TBLCmdSave $2 VOTWrite} # backward compatibily | SIZE_ numeric numeric rformat {TBLCmdSize [expr ($2+$3)/2.] $4} | SKY_ skyframe {TBLCmdSkyframe $2} | SKYFORMAT_ skyformat {ProcessCmdCVAR skyformat $2} | SYSTEM_ wcssys {TBLCmdSystem $2} - | UPDATE_ {ProcessCVAR0 IMGSVRUpdate} + | UPDATE_ {ProcessCVAR0 TBLUpdate} ; coordinate : numeric numeric {TBLCmdCoord $1 $2 fk5} diff --git a/ds9/parsers/siaparser.tcl b/ds9/parsers/siaparser.tcl index fc27528..1900121 100644 --- a/ds9/parsers/siaparser.tcl +++ b/ds9/parsers/siaparser.tcl @@ -173,7 +173,7 @@ array set sia::table { 54:0,target 31 6:311,target 75 33:312,target 29 - 23:0,target 58 + 23:0,target 57 4:302,target 73 15:298,target 34 61:298,target 63 @@ -245,7 +245,7 @@ array set sia::table { 8:311,target 77 36:285,target 41 6:302,target 75 - 17:298,target 52 + 17:298,target 51 63:298,target 2 33:303,target 20 48:291 shift @@ -268,7 +268,7 @@ array set sia::table { 18:298 reduce 7:303 reduce 30:258,target 63 - 47:0,target 57 + 47:0,target 56 7:304 reduce 7:305 reduce 7:306 reduce @@ -285,7 +285,7 @@ array set sia::table { 7:313 reduce 7:302,target 76 7:314 reduce - 18:298,target 51 + 18:298,target 52 64:298,target 3 4:299,target 73 4:309,target 73 @@ -401,7 +401,7 @@ array set sia::table { 81:0 reduce 68:0,target 7 35:296 reduce - 23:298,target 58 + 23:298,target 57 35:298 reduce 68:298,target 7 8:299,target 77 @@ -450,7 +450,7 @@ array set sia::table { 10:314,target 79 67:0 reduce 0:311 reduce - 25:298,target 59 + 25:298,target 58 71:298,target 10 0:312 reduce 0:313 reduce @@ -614,7 +614,7 @@ array set sia::table { 36:291,target 41 68:298 reduce 6:307,target 75 - 17:0,target 52 + 17:0,target 51 38:295 shift 33:308,target 25 38:296 shift @@ -756,7 +756,7 @@ array set sia::table { 91:285 shift 91:286 shift 6:306,target 75 - 97:0,target 60 + 97:0,target 59 91:287 shift 33:307,target 24 91:288 shift @@ -874,7 +874,7 @@ array set sia::table { 90:298,target 49 89:298,target 64 0:304,target 45 - 25:0,target 59 + 25:0,target 58 87:0 reduce 12:337 goto 77:298 reduce @@ -936,10 +936,10 @@ array set sia::table { 81:0,target 20 35:296,target 40 5:313,target 74 - 49:0,target 56 - 47:298,target 57 + 49:0,target 60 + 47:298,target 56 93:298,target 55 - 18:0,target 51 + 18:0,target 52 3:304,target 72 14:311,target 48 91:290,target 57 @@ -980,7 +980,7 @@ array set sia::table { 98:291,target 94 94:298 reduce 7:313,target 76 - 49:298,target 56 + 49:298,target 60 95:298,target 38 35:287,target 40 64:298 reduce @@ -1031,7 +1031,7 @@ array set sia::table { 10:299 reduce 10:309 reduce 10:310 reduce - 97:298,target 60 + 97:298,target 59 10:311 reduce 10:312 reduce 10:313 reduce @@ -1226,8 +1226,8 @@ array set sia::rules { 31,dc 1 7,dc 1 45,dc 0 - 60,dc 3 - 59,dc 1 + 60,dc 2 + 59,dc 3 74,dc 1 23,dc 1 0,dc 1 @@ -1252,7 +1252,7 @@ array set sia::rules { 28,dc 1 5,dc 1 43,dc 0 - 57,dc 2 + 57,dc 1 72,dc 1 21,dc 1 35,dc 1 @@ -1379,12 +1379,12 @@ array set sia::lr1_table { 44 {{84 298 1}} 45 {{85 298 1}} 46 {{55 {0 298} 2}} - 47 {{57 {0 298} 2}} + 47 {{56 {0 298} 2}} 48 {{40 {291 292 293} 1}} 49 {{41 {291 292 293} 1}} - 50 {{60 {0 298} 2} {37 {0 298} 0} {38 {0 298} 0} {39 {0 298} 0}} + 50 {{59 {0 298} 2} {37 {0 298} 0} {38 {0 298} 0} {39 {0 298} 0}} 27,trans {{295 35} {296 36} {335 52}} - 51 {{56 {0 298} 2}} + 51 {{60 {0 298} 2}} 46,trans {{298 97}} 52 {{61 {0 298} 2} {40 {291 292 293} 0} {41 {291 292 293} 0}} 65,trans {} @@ -1474,7 +1474,7 @@ array set sia::lr1_table { 97,trans {} 8,trans {} 100 {{39 {0 298} 1}} - 101 {{60 {0 298} 3}} + 101 {{59 {0 298} 3}} 102 {{61 {0 298} 3} {37 {0 298} 0} {38 {0 298} 0} {39 {0 298} 0}} 103 {{69 {0 298} 3}} 104 {{67 {0 298} 3}} @@ -1552,20 +1552,20 @@ array set sia::lr1_table { 16 {{50 {0 298} 1}} 29,trans {{291 61} {294 62} {333 63}} 30,trans {{257 64} {258 65} {259 66} {260 67} {261 68} {262 69} {263 70} {264 71} {265 72} {266 73} {267 74} {268 75} {269 76} {270 77} {271 78} {272 79} {273 80} {274 81} {275 82} {276 83} {277 84} {278 85} {279 86} {280 87} {281 88} {282 89} {283 90} {331 91}} - 17 {{52 {0 298} 1}} + 17 {{51 {0 298} 1}} 48,trans {} - 18 {{51 {0 298} 1}} + 18 {{52 {0 298} 1}} 67,trans {} 20 {{54 {0 298} 1}} 19 {{53 {0 298} 1} {66 {0 298} 0} {67 {0 298} 0} {68 {0 298} 0} {69 {0 298} 0} {40 {295 296} 0} {41 {295 296} 0}} 86,trans {} 21 {{55 {0 298} 1} {80 298 0} {81 298 0} {82 298 0} {83 298 0} {84 298 0} {85 298 0}} - 22 {{57 {0 298} 1}} + 22 {{56 {0 298} 1}} 100,trans {} - 23 {{58 {0 298} 1}} - 24 {{60 {0 298} 1} {40 {291 292 293} 0} {41 {291 292 293} 0}} - 25 {{59 {0 298} 1}} - 26 {{56 {0 298} 1}} + 23 {{57 {0 298} 1}} + 24 {{59 {0 298} 1} {40 {291 292 293} 0} {41 {291 292 293} 0}} + 25 {{58 {0 298} 1}} + 26 {{60 {0 298} 1}} 27 {{61 {0 298} 1} {40 {295 296} 0} {41 {295 296} 0}} 28 {{62 {0 298} 1} {28 {0 298} 0} {29 {0 298} 0} {30 {0 298} 0} {31 {0 298} 0} {32 {0 298} 0} {33 {0 298} 0} {34 {0 298} 0}} 30 {{64 {0 298} 1} {1 {0 298} 0} {2 {0 298} 0} {3 {0 298} 0} {4 {0 298} 0} {5 {0 298} 0} {6 {0 298} 0} {7 {0 298} 0} {8 {0 298} 0} {9 {0 298} 0} {10 {0 298} 0} {11 {0 298} 0} {12 {0 298} 0} {13 {0 298} 0} {14 {0 298} 0} {15 {0 298} 0} {16 {0 298} 0} {17 {0 298} 0} {18 {0 298} 0} {19 {0 298} 0} {20 {0 298} 0} {21 {0 298} 0} {22 {0 298} 0} {23 {0 298} 0} {24 {0 298} 0} {25 {0 298} 0} {26 {0 298} 0} {27 {0 298} 0}} @@ -2084,20 +2084,20 @@ proc sia::yyparse {} { 47 { SIACmdRef $1 } 48 { SIACmdRef $1 } 50 { ProcessCmdCVAR0 ARCancel } - 51 { ProcessCmdCVAR0 SIADestroy } - 52 { ProcessCmdCVAR0 SIAOff } - 54 { ProcessCmdCVAR0 IMGSVRCrosshair } + 51 { ProcessCmdCVAR0 SIAOff } + 52 { ProcessCmdCVAR0 SIADestroy } + 54 { ProcessCmdCVAR0 TBLCrosshair } 55 { TBLCmdSave $3 $2 } - 56 { TBLCmdSave $2 VOTWrite } - 57 { ProcessCmdCVAR name $2 } - 58 { ProcessCmdCVAR0 TBLCmdPrint } - 59 { global cvarname; SIAApply $cvarname 1 } - 60 { TBLCmdSize $2 $3 } + 56 { ProcessCmdCVAR name $2 } + 57 { ProcessCmdCVAR0 TBLCmdPrint } + 58 { global cvarname; SIAApply $cvarname 1 } + 59 { TBLCmdSize $2 $3 } + 60 { TBLCmdSave $2 VOTWrite } 61 { TBLCmdSize [expr ($2+$3)/2.] $4 } 62 { TBLCmdSkyframe $2 } 63 { ProcessCmdCVAR skyformat $2 } 64 { TBLCmdSystem $2 } - 65 { ProcessCVAR0 IMGSVRUpdate } + 65 { ProcessCVAR0 TBLUpdate } 66 { TBLCmdCoord $1 $2 fk5 } 67 { TBLCmdCoord $1 $2 $3 } 68 { TBLCmdCoord $1 $2 fk5 } |