package provide DS9 1.0 ###### # Begin autogenerated taccle (version 1.3) routines. # Although taccle itself is protected by the GNU Public License (GPL) # all user-supplied functions are protected by their respective # author's license. See http://mini.net/tcl/taccle for other details. ###### namespace eval vla { variable yylval {} variable table variable rules variable token {} variable yycnt 0 variable yyerr 0 variable save_state 0 namespace export yylex } proc vla::YYABORT {} { return -code return 1 } proc vla::YYACCEPT {} { return -code return 0 } proc vla::YYERROR {} { variable yyerr set yyerr 1 } proc vla::yyclearin {} { variable token variable yycnt set token {} incr yycnt -1 } proc vla::yyerror {s} { puts stderr $s } proc vla::setupvalues {stack pointer numsyms} { upvar 1 1 y set y {} for {set i 1} {$i <= $numsyms} {incr i} { upvar 1 $i y set y [lindex $stack $pointer] incr pointer } } proc vla::unsetupvalues {numsyms} { for {set i 1} {$i <= $numsyms} {incr i} { upvar 1 $i y unset y } } array set vla::table { 10:280,target 38 9:284 shift 16:283,target 22 30:283 reduce 9:285 shift 29:283 reduce 27:0 reduce 48:0 reduce 38:279 shift 3:267,target 19 51:283,target 16 7:283,target 1 38:283 reduce 0:275,target 9 11:282,target 19 9:297 goto 40:283,target 48 39:283,target 8 6:266 shift 7:262,target 32 38:288 goto 6:268 shift 24:0 reduce 48:0,target 23 47:283 reduce 41:0,target 10 45:0 reduce 33:0,target 31 2:282,target 12 17:280 shift 25:0,target 39 28:283,target 5 34:282,target 12 0:273,target 7 7:259,target 29 7:260,target 30 21:0 reduce 26:283 reduce 42:0 reduce 52:283,target 17 2:280,target 17 0:292,target 14 42:287,target 50 12:282,target 20 41:283,target 10 35:283 reduce 0:271,target 5 11:277,target 19 6:296 goto 7:257,target 27 3:267 shift 38:0 reduce 30:283,target 6 29:283,target 3 9:285,target 36 3:270 shift 44:283 reduce 43:289,target 54 8:281,target 11 14:281 shift 14:282 shift 53:0,target 18 0:268,target 3 45:0,target 36 53:283 reduce 37:0,target 33 39:276,target 46 30:0,target 6 29:0,target 3 22:0,target 28 53:283,target 18 35:0 reduce 4:263,target 22 14:292 goto 23:283 reduce 42:283,target 8 3:290 goto 12:277,target 20 18:281,target 11 32:283 reduce 11:0 reduce 31:283,target 4 0:264 shift 32:0 reduce 0:265 shift 41:279 shift 53:0 reduce 0:268 shift 0:269 shift 11:276 reduce 41:283 reduce 0:271 shift 11:277 reduce 19:283,target 15 20:283,target 14 0:272 shift 11:278 reduce 0:273 shift 0:274 shift 11:281 reduce 0:275 shift 11:282 reduce 41:288 goto 0:264,target 1 38:288,target 45 54:283,target 30 50:283 reduce 49:283 reduce 2:292,target 18 0:280 shift 7:0,target 1 28:0 reduce 0:281 shift 0:0,target 24 0:282 shift 14:282,target 12 50:0 reduce 49:0 reduce 0:283 shift 43:283,target 12 34:292,target 43 19:283 reduce 20:283 reduce 50:0,target 37 49:0,target 38 0:283,target 13 42:0,target 8 8:281 shift 26:0,target 34 8:282 shift 32:283,target 7 0:292 goto 11:0,target 19 0:293 goto 9:297,target 37 25:0 reduce 28:283 reduce 0:295 goto 46:0 reduce 21:283,target 32 8:292 goto 0:281,target 11 37:283 reduce 42:276,target 46 0:0 reduce 55:283,target 13 22:0 reduce 46:283 reduce 43:0 reduce 44:283,target 11 1:283,target 26 7:286,target 33 43:278,target 53 16:283 reduce 33:283,target 31 55:283 reduce 3:290,target 21 5:283 reduce 54:0,target 30 39:0 reduce 22:283,target 28 25:283 reduce 46:0,target 9 38:0,target 10 16:294 goto 31:0,target 4 23:0,target 29 43:276,target 51 15:0,target 0 41:288,target 49 34:281 shift 34:282 shift 43:276 shift 15:0 accept 43:277 shift 43:278 shift 38:279,target 44 45:283,target 36 36:0 reduce 0:295,target 16 43:283 reduce 34:292 goto 0:274,target 8 11:281,target 19 13:283 reduce 43:289 goto 43:291 goto 7:261,target 31 12:0 reduce 52:283 reduce 2:280 shift 2:281 shift 14:292,target 39 23:283,target 29 33:0 reduce 2:282 shift 2:281,target 11 54:0 reduce 0:293,target 15 22:283 reduce 6:296,target 26 1:0,target 26 34:281,target 11 0:272,target 6 11:278,target 19 2:292 goto 7:0 reduce 51:0,target 16 31:283 reduce 7:258,target 28 46:283,target 9 43:0,target 12 39:276 shift 35:0,target 41 30:0 reduce 29:0 reduce 27:0,target 2 7:257 shift 19:0,target 15 20:0,target 14 51:0 reduce 43:291,target 55 7:258 shift 12:0,target 20 7:259 shift 7:260 shift 8:282,target 12 35:283,target 41 7:261 shift 40:283 shift 39:283 reduce 7:262 shift 12:281,target 20 10:280 shift 0:269,target 4 11:276,target 19 39:287 goto 17:280,target 41 24:283,target 40 26:0 reduce 9:284,target 35 47:0 reduce 13:283,target 27 18:281 shift 18:282 shift 12:278,target 20 18:282,target 12 1:0 reduce 16:294,target 40 41:279,target 44 47:283,target 35 4:283,target 23 7:283 reduce 23:0 reduce 18:292 goto 27:283 reduce 7:286 goto 44:0 reduce 5:0,target 25 36:283,target 42 55:0,target 13 12:276,target 20 47:0,target 35 36:283 reduce 39:0,target 8 4:263 shift 25:283,target 39 32:0,target 7 0:265,target 2 6:268,target 25 24:0,target 40 16:0,target 21 19:0 reduce 20:0 reduce 41:0 reduce 45:283 reduce 5:283,target 25 54:283 reduce 6:266,target 24 16:0 reduce 4:283 shift 37:283,target 33 37:0 reduce 14:281,target 11 24:283 reduce 0:282,target 12 26:283,target 34 33:283 reduce 13:0 reduce 42:276 shift 8:292,target 34 55:0 reduce 52:0,target 17 12:276 reduce 44:0,target 11 42:283 reduce 12:277 reduce 36:0,target 42 12:278 reduce 50:283,target 37 49:283,target 38 0:280,target 10 28:0,target 5 12:281 reduce 21:0,target 32 42:287 goto 12:282 reduce 13:0,target 27 39:287,target 47 51:283 reduce 38:283,target 10 31:0 reduce 1:283 reduce 52:0 reduce 3:270,target 20 21:283 reduce 18:292,target 42 27:283,target 2 43:277,target 52 5:0 reduce } array set vla::rules { 9,l 287 11,l 288 32,l 295 6,l 286 28,l 295 3,l 286 25,l 295 0,l 298 22,l 294 18,l 291 40,l 296 39,l 296 15,l 290 36,l 295 12,l 289 33,l 295 7,l 286 29,l 295 30,l 295 4,l 286 26,l 295 1,l 286 23,l 293 19,l 292 20,l 292 41,l 297 16,l 291 37,l 295 13,l 289 34,l 295 8,l 287 10,l 288 31,l 295 5,l 286 27,l 295 2,l 286 24,l 295 21,l 293 42,l 297 17,l 291 38,l 295 14,l 290 35,l 295 } array set vla::rules { 12,dc 0 26,dc 1 3,dc 1 41,dc 1 18,dc 1 33,dc 2 9,dc 1 11,dc 1 25,dc 1 2,dc 1 40,dc 1 39,dc 1 17,dc 1 32,dc 2 8,dc 0 10,dc 0 24,dc 0 1,dc 0 38,dc 4 16,dc 1 31,dc 2 7,dc 1 23,dc 3 0,dc 1 37,dc 4 15,dc 1 29,dc 2 30,dc 4 6,dc 1 22,dc 0 36,dc 3 14,dc 1 28,dc 2 5,dc 1 21,dc 1 35,dc 3 13,dc 1 27,dc 1 4,dc 1 42,dc 1 19,dc 1 20,dc 1 34,dc 2 } array set vla::rules { 41,line 150 7,line 91 37,line 142 4,line 88 34,line 138 1,line 85 31,line 134 27,line 129 24,line 126 21,line 122 17,line 115 22,e 1 14,line 110 11,line 103 9,line 99 40,line 147 39,line 146 6,line 90 36,line 141 3,line 87 33,line 136 29,line 131 30,line 133 26,line 128 23,line 123 19,line 118 20,line 119 16,line 114 13,line 107 10,line 102 42,line 151 8,line 98 38,line 143 5,line 89 35,line 139 2,line 86 32,line 135 28,line 130 25,line 127 22,line 122 18,line 116 15,line 111 12,line 106 } array set vla::lr1_table { 35 {{41 {0 283} 1}} 14,trans {{281 39} {282 40} {292 41}} 36 {{42 {0 283} 1}} 33,trans {} 37 {{33 {0 283} 2}} 52,trans {} 38 {{36 {0 283} 2} {10 {0 283} 0} {11 {0 283} 0}} 40 {{20 {0 276} 1}} 39 {{19 {0 276} 1}} 18,trans {{281 39} {282 40} {292 44}} 41 {{35 {0 283} 2} {8 {0 283} 0} {9 {0 283} 0}} 1,trans {} 37,trans {} 42 {{23 0 2}} 56,trans {} 43 {{38 {0 283} 3} {10 {0 283} 0} {11 {0 283} 0}} 44 {{37 {0 283} 3} {8 {0 283} 0} {9 {0 283} 0}} 45 {{19 {0 276 277 278} 1}} 23,trans {} 5,trans {} 42,trans {{283 52}} 46 {{20 {0 276 277 278} 1}} 47 {{30 {0 283} 3} {12 {0 283} 0} {13 {0 283} 0} {16 {0 283} 0} {17 {0 283} 0} {18 {0 283} 0}} 48 {{11 {0 283} 1}} 50 {{9 {0 283} 1}} 49 {{36 {0 283} 3}} 27,trans {} 9,trans {{284 35} {285 36} {297 37}} 46,trans {} 51 {{35 {0 283} 3}} 52 {{23 0 3}} 53 {{38 {0 283} 4}} 13,trans {} 54 {{37 {0 283} 4}} 32,trans {} 51,trans {} 55 {{16 {0 283} 1}} 56 {{17 {0 283} 1}} 57 {{18 {0 283} 1}} 17,trans {{280 43}} 0,trans {{264 1} {265 2} {268 3} {269 4} {271 5} {272 6} {273 7} {274 8} {275 9} {280 10} {281 11} {282 12} {283 13} {292 14} {293 15} {295 16}} 58 {{30 {0 283} 4}} 36,trans {} 55,trans {} 59 {{13 {0 283} 1}} 22,trans {} 4,trans {{263 22} {283 23}} 41,trans {{276 50} {287 51}} 59,trans {} 26,trans {} 8,trans {{281 11} {282 12} {292 34}} 45,trans {} 12,trans {} 31,trans {} 50,trans {} 49,trans {} 16,trans {{294 42}} 35,trans {} 54,trans {} 21,trans {} 3,trans {{267 19} {270 20} {290 21}} 40,trans {} 39,trans {} 58,trans {} 10 {{36 {0 283} 1}} 11 {{19 {281 282} 1}} 25,trans {} 12 {{20 {281 282} 1}} 7,trans {{257 27} {258 28} {259 29} {260 30} {261 31} {262 32} {286 33}} 44,trans {{276 50} {287 54}} 13 {{27 {0 283} 1}} 14 {{35 {0 283} 1} {19 {0 276} 0} {20 {0 276} 0}} 11,trans {} 15 {{0 0 1}} 30,trans {} 29,trans {} 16 {{21 0 1} {23 0 1} {22 283 0}} 48,trans {} 0 {{0 0 0} {21 0 0} {23 0 0} {24 {0 283} 0} {25 {0 283} 0} {26 {0 283} 0} {27 {0 283} 0} {28 {0 283} 0} {29 {0 283} 0} {30 {0 283} 0} {31 {0 283} 0} {32 {0 283} 0} {33 {0 283} 0} {34 {0 283} 0} {35 {0 283} 0} {36 {0 283} 0} {37 {0 283} 0} {38 {0 283} 0} {19 {281 282} 0} {20 {281 282} 0}} 17 {{38 {0 283} 2}} 1 {{26 {0 283} 1}} 18 {{37 {0 283} 2} {19 {0 276} 0} {20 {0 276} 0}} 15,trans {} 2 {{37 {0 283} 1} {38 {0 283} 1} {19 {281 282} 0} {20 {281 282} 0}} 19 {{15 {0 283} 1}} 20 {{14 {0 283} 1}} 34,trans {{281 45} {282 46} {292 47}} 3 {{32 {0 283} 1} {14 {0 283} 0} {15 {0 283} 0}} 21 {{32 {0 283} 2}} 53,trans {} 4 {{28 {0 283} 1} {29 {0 283} 1}} 22 {{28 {0 283} 2}} 5 {{25 {0 283} 1}} 23 {{29 {0 283} 2}} 20,trans {} 19,trans {} 6 {{34 {0 283} 1} {39 {0 283} 0} {40 {0 283} 0}} 2,trans {{280 17} {281 11} {282 12} {292 18}} 24 {{40 {0 283} 1}} 38,trans {{279 48} {288 49}} 7 {{31 {0 283} 1} {1 {0 283} 0} {2 {0 283} 0} {3 {0 283} 0} {4 {0 283} 0} {5 {0 283} 0} {6 {0 283} 0} {7 {0 283} 0}} 25 {{39 {0 283} 1}} 57,trans {} 8 {{30 {0 283} 1} {19 {281 282} 0} {20 {281 282} 0}} 26 {{34 {0 283} 2}} 9 {{33 {0 283} 1} {41 {0 283} 0} {42 {0 283} 0}} 27 {{2 {0 283} 1}} 24,trans {} 6,trans {{266 24} {268 25} {296 26}} 28 {{5 {0 283} 1}} 43,trans {{279 48} {288 53}} 29 {{3 {0 283} 1}} 30 {{6 {0 283} 1}} 31 {{4 {0 283} 1}} 10,trans {{280 38}} 32 {{7 {0 283} 1}} 28,trans {} 33 {{31 {0 283} 2}} 47,trans {{276 55} {277 56} {278 57} {289 58} {291 59}} 34 {{30 {0 283} 2} {19 {0 276 277 278} 0} {20 {0 276 277 278} 0}} } array set vla::token_id_table { 286,t 1 286 yesno 280,title SEXSTR 279,title SEXAGESIMAL 264,line 15 298,title {} 292,line 117 287 deg 270,t 0 269,t 0 288 sex 290 frame 289 sizeOpt 276,line 28 265,title COORD 291,t 1 291 rformat 284,title STRIPE82 292 numeric 274,t 0 261,line 11 293 command 288,line 101 257,t 0 294 @PSEUDO1 270,title NEW 269,title NAME 295,t 1 295 vla 288,title {} 273,line 24 296 update 278,t 0 297 survey 257,line 7 262,t 0 298 start' 285,line 44 274,title SIZE 293,title {} 283,t 0 270,line 21 269,line 20 297,line 149 259,title ON 260,title OFF 266,t 0 278,title ARCSEC 297,title {} 282,line 37 287,t 1 error error 271,t 0 264,title CLOSE 266,line 17 294,line 122 283,title string 292,t 1 278,line 30 error,line 83 275,t 0 268,title FRAME 287,title {} 258,t 0 263,line 14 291,line 113 error,title {} 296,t 1 280,t 0 279,t 0 275,line 26 273,title SAVE 292,title {} 263,t 0 259,line 9 260,line 10 287,line 97 258,title NO 284,t 0 277,title ARCMIN 296,title {} 272,line 23 267,t 0 263,title CLEAR 288,t 1 284,line 43 282,title float 272,t 0 268,line 19 296,line 145 267,title CURRENT 293,t 1 286,title {} 257 YES_ 281,line 36 276,t 0 258 NO_ 259,t 0 259 ON_ 260 OFF_ 260,t 0 272,title UPDATE 261 TRUE_ 265,line 16 297,t 1 293,line 121 291,title {} 262 FALSE_ 281,t 0 263 CLEAR_ 277,line 29 257,title YES 264 CLOSE_ 264,t 0 276,title DEGREES 265 COORD_ 295,title {} 262,line 12 266 CROSSHAIR_ 290,line 109 289,line 105 285,t 0 267 CURRENT_ 0,t 0 0 {$} 262,title FALSE 268 FRAME_ 268,t 0 281,title integer 274,line 25 270 NEW_ 269 NAME_ error,t 0 271 OPEN_ 290,t 1 289,t 1 272 UPDATE_ 258,line 8 286,line 84 273,t 0 273 SAVE_ 266,title CROSSHAIR 285,title FIRST 274 SIZE_ 275 SURVEY_ 271,line 22 298,line 152 294,t 1 276 DEGREES_ 277,t 0 277 ARCMIN_ 271,title OPEN 290,title {} 289,title {} 283,line 39 278 ARCSEC_ 261,t 0 280 SEXSTR_ 279 SEXAGESIMAL_ 298,t 1 281 INT_ 267,line 18 295,line 125 282,t 0 282 REAL_ 275,title SURVEY 294,title {} 283 STRING_ 265,t 0 284 STRIPE82_ 280,line 34 279,line 32 285 FIRST_ 261,title TRUE } proc vla::yyparse {} { variable yylval variable table variable rules variable token variable yycnt variable lr1_table variable token_id_table variable yyerr variable save_state set yycnt 0 set state_stack {0} set value_stack {{}} set token "" set accepted 0 set yyerr 0 set save_state 0 while {$accepted == 0} { set state [lindex $state_stack end] if {$token == ""} { set yylval "" set token [yylex] set buflval $yylval if {$token>0} { incr yycnt } } if {![info exists table($state:$token)] || $yyerr} { if {!$yyerr} { set save_state $state } # pop off states until error token accepted while {[llength $state_stack] > 0 && \ ![info exists table($state:error)]} { set state_stack [lrange $state_stack 0 end-1] set value_stack [lrange $value_stack 0 \ [expr {[llength $state_stack] - 1}]] set state [lindex $state_stack end] } if {[llength $state_stack] == 0} { set rr { } if {[info exists lr1_table($save_state,trans)] && [llength $lr1_table($save_state,trans)] >= 1} { foreach trans $lr1_table($save_state,trans) { foreach {tok_id nextstate} $trans { set ss $token_id_table($tok_id,title) if {$ss != {}} { append rr "$ss, " } } } } set rr [string trimleft $rr { }] set rr [string trimright $rr {, }] yyerror "parse error, expecting: $rr" return 1 } lappend state_stack [set state $table($state:error,target)] lappend value_stack {} # consume tokens until it finds an acceptable one while {![info exists table($state:$token)]} { if {$token == 0} { yyerror "end of file while recovering from error" return 1 } set yylval {} set token [yylex] set buflval $yylval } continue } switch -- $table($state:$token) { shift { lappend state_stack $table($state:$token,target) lappend value_stack $buflval set token "" } reduce { set rule $table($state:$token,target) set ll $rules($rule,l) if {[info exists rules($rule,e)]} { set dc $rules($rule,e) } else { set dc $rules($rule,dc) } set stackpointer [expr {[llength $state_stack]-$dc}] setupvalues $value_stack $stackpointer $dc set _ $1 set yylval [lindex $value_stack end] switch -- $rule { 1 { set _ 1 } 2 { set _ 1 } 3 { set _ 1 } 4 { set _ 1 } 5 { set _ 0 } 6 { set _ 0 } 7 { set _ 0 } 8 { set _ degrees } 9 { set _ degrees } 10 { set _ sexagesimal } 11 { set _ sexagesimal } 12 { set _ degrees } 13 { set _ $1 } 14 { set _ new } 15 { set _ current } 16 { set _ degrees } 17 { set _ arcmin } 18 { set _ arcsec } 19 { set _ $1 } 20 { set _ $1 } 22 { global ds9; if {!$ds9(init)} {YYERROR} else {yyclearin; YYACCEPT} } 24 { IMGSVRApply dvla 1 } 26 { ARDestroy dvla } 27 { ProcessCmdSet dvla name $1 "IMGSVRApply dvla 1" } 28 { ProcessCmdSet dvla name {} } 29 { ProcessCmdSet dvla name $2 "IMGSVRApply dvla 1" } 30 { ProcessCmdSet4 dvla width $2 height $3 rformat $4 rformat,msg $4 } 31 { ProcessCmdSet dvla save $2 } 32 { ProcessCmdSet dvla mode $2 } 33 { ProcessCmdSet dvla survey $2 } 35 { ProcessCmdSet4 dvla x $1 y $2 skyformat $3 skyformat,msg $3 "IMGSVRApply dvla 1" } 36 { ProcessCmdSet4 dvla x $1 y $2 skyformat $3 skyformat,msg $3 "IMGSVRApply dvla 1" } 37 { ProcessCmdSet4 dvla x $2 y $3 skyformat $4 skyformat,msg $4 "IMGSVRApply dvla 1" } 38 { ProcessCmdSet4 dvla x $2 y $3 skyformat $4 skyformat,msg $4 "IMGSVRApply dvla 1" } 39 { IMGSVRUpdate dvla; IMGSVRApply dvla 1 } 40 { IMGSVRCrosshair dvla; IMGSVRApply dvla 1 } 41 { set _ stripe82 } 42 { set _ first } } unsetupvalues $dc # pop off tokens from the stack if normal rule if {![info exists rules($rule,e)]} { incr stackpointer -1 set state_stack [lrange $state_stack 0 $stackpointer] set value_stack [lrange $value_stack 0 $stackpointer] } # now do the goto transition lappend state_stack $table([lindex $state_stack end]:$ll,target) lappend value_stack $_ } accept { set accepted 1 } goto - default { puts stderr "Internal parser error: illegal command $table($state:$token)" return 2 } } } return 0 } ###### # end autogenerated taccle functions ###### proc vla::yyerror {msg} { variable yycnt variable yy_current_buffer variable index_ ParserError $msg $yycnt $yy_current_buffer $index_ }