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 movie { variable yylval {} variable table variable rules variable token {} variable yycnt 0 variable yyerr 0 variable save_state 0 namespace export yylex } proc movie::YYABORT {} { return -code return 1 } proc movie::YYACCEPT {} { return -code return 0 } proc movie::YYERROR {} { variable yyerr set yyerr 1 } proc movie::yyclearin {} { variable token variable yycnt set token {} incr yycnt -1 } proc movie::yyerror {s} { puts stderr $s } proc movie::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 movie::unsetupvalues {numsyms} { for {set i 1} {$i <= $numsyms} {incr i} { upvar 1 $i y unset y } } array set movie::table { 27:262,target 16 7:264,target 14 17:257 shift 27:0 reduce 6:259,target 4 33:261,target 19 24:270,target 2 30:268,target 20 29:268,target 13 6:259 reduce 15:257,target 29 26:259 reduce 28:264,target 17 26:261 reduce 6:0,target 3 0:275,target 6 26:262 reduce 26:263 reduce 27:259,target 16 26:264 reduce 7:262,target 12 34:263,target 11 26:266 reduce 24:0 reduce 26:267 reduce 26:268 reduce 24:267,target 2 33:0,target 19 31:271,target 21 26:270 reduce 26:271 reduce 25:0,target 14 6:274 goto 14:272,target 28 23:263,target 1 30:266,target 20 29:266,target 13 28:262,target 17 0:273,target 5 20:271,target 19 7:259,target 9 34:261,target 11 25:270,target 14 14:257 shift 21:0 reduce 11:258,target 24 14:258 shift 31:268,target 21 16:257,target 30 23:261,target 1 30:264,target 20 29:264,target 13 3:259 shift 28:259,target 17 20:268,target 17 23:259 reduce 6:274,target 10 23:261 reduce 23:262 reduce 14:272 goto 23:263 reduce 25:267,target 14 23:264 reduce 32:271,target 18 23:266 reduce 23:267 reduce 24:263,target 2 32:259 reduce 31:266,target 21 23:268 reduce 32:261 reduce 23:270 reduce 32:262 reduce 23:271 reduce 32:263 reduce 30:262,target 20 29:262,target 13 21:271,target 12 32:264 reduce 7:276,target 20 32:266 reduce 8:259,target 7 20:266,target 15 32:267 reduce 26:270,target 15 32:268 reduce 12:258,target 24 32:270 reduce 30:0,target 20 29:0,target 13 32:271 reduce 22:0,target 5 32:268,target 18 11:257 shift 11:258 shift 17:257,target 31 24:261,target 2 31:264,target 21 30:259,target 20 29:259,target 13 21:268,target 12 0:259 shift 0:260 shift 19:257 shift 9:0 reduce 20:264,target 14 26:267,target 15 20:259 reduce 33:271,target 19 20:261 shift 20:262 shift 32:0 reduce 25:263,target 14 0:265 shift 11:272 goto 20:263 shift 32:266,target 18 20:264 shift 8:259 reduce 20:266 shift 31:262,target 21 0:269 shift 20:267 shift 28:259 reduce 20:268 shift 28:261 reduce 20:270 shift 28:262 reduce 0:273 goto 9:259,target 8 20:271 shift 21:266,target 12 28:263 reduce 27:270,target 16 28:264 reduce 6:0 reduce 0:275 goto 13:258,target 24 20:262,target 12 28:266 reduce 33:268,target 19 28:267 reduce 28:268 reduce 28:0 reduce 7:0,target 9 18:257,target 32 20:277 goto 28:270 reduce 25:261,target 14 32:264,target 18 28:271 reduce 31:259,target 21 34:0,target 11 21:264,target 12 27:267,target 16 26:0,target 15 7:270,target 18 34:271,target 11 16:257 shift 20:259,target 10 26:263,target 15 33:266,target 19 25:0 reduce 32:262,target 18 23:271,target 1 28:270,target 17 25:259 reduce 14:258,target 24 25:261 reduce 21:262,target 12 25:262 reduce 7:267,target 16 34:268,target 11 25:263 reduce 25:264 reduce 0:260,target 2 0:259,target 1 19:257,target 33 26:261,target 15 22:0 reduce 33:264,target 19 25:266 reduce 25:267 reduce 34:259 reduce 25:268 reduce 34:261 reduce 32:259,target 18 25:270 reduce 23:268,target 1 34:262 reduce 25:271 reduce 34:263 reduce 34:264 reduce 28:267,target 17 34:266 reduce 34:267 reduce 21:259,target 12 34:268 reduce 27:263,target 16 34:270 reduce 34:266,target 11 34:271 reduce 13:257 shift 33:262,target 19 24:271,target 2 13:258 shift 10:259,target 22 23:266,target 1 31:0,target 21 30:270,target 20 29:270,target 13 23:0,target 1 2:259 shift 1:259,target 6 27:261,target 16 7:263,target 13 34:264,target 11 13:272 goto 33:259,target 19 24:268,target 2 31:259 reduce 23:264,target 1 31:261 reduce 30:267,target 20 29:267,target 13 31:262 reduce 31:263 reduce 31:264 reduce 28:263,target 17 31:266 reduce 31:267 reduce 7:261,target 11 34:262,target 11 31:268 reduce 25:271,target 14 31:270 reduce 33:0 reduce 31:271 reduce 24:266,target 2 31:270,target 21 10:259 shift 23:262,target 1 8:0,target 7 1:0,target 6 2:259,target 7 28:261,target 17 20:270,target 18 7:0 reduce 18:257 shift 34:259,target 11 25:268,target 14 30:0 reduce 29:0 reduce 11:257,target 23 27:0,target 16 20:0,target 10 24:264,target 2 31:267,target 21 7:259 reduce 7:261 shift 23:259,target 1 30:263,target 20 29:263,target 13 27:259 reduce 7:262 shift 27:261 reduce 7:263 shift 7:277,target 21 27:262 reduce 7:264 shift 27:263 reduce 0:269,target 4 20:267,target 16 27:264 reduce 26:271,target 15 7:266 shift 7:267 shift 27:266 reduce 7:268 shift 27:267 reduce 26:0 reduce 25:266,target 14 7:270 shift 32:270,target 18 27:268 reduce 7:271 shift 27:270 reduce 27:271 reduce 24:262,target 2 7:276 goto 3:259,target 8 30:261,target 20 29:261,target 13 7:277 goto 21:270,target 12 1:0 reduce 26:268,target 15 12:257,target 23 15:257 shift 23:0 reduce 25:264,target 14 32:267,target 18 5:0,target 0 24:259,target 2 31:263,target 21 4:259 shift 21:267,target 12 27:271,target 16 24:259 reduce 24:261 reduce 32:0,target 18 0:265,target 3 11:272,target 25 20:263,target 13 24:262 reduce 26:266,target 15 24:0,target 2 24:263 reduce 33:270,target 19 20:0 reduce 24:264 reduce 25:262,target 14 24:266 reduce 24:267 reduce 33:259 reduce 24:268 reduce 33:261 reduce 4:259,target 9 24:270 reduce 33:262 reduce 31:261,target 21 24:271 reduce 33:263 reduce 33:264 reduce 33:266 reduce 27:268,target 16 7:271,target 19 33:267 reduce 13:257,target 23 33:268 reduce 20:261,target 11 33:270 reduce 26:264,target 15 33:271 reduce 33:267,target 19 12:257 shift 25:259,target 14 12:258 shift 32:263,target 18 28:271,target 17 1:259 reduce 12:272,target 26 21:263,target 12 27:266,target 16 7:268,target 17 34:270,target 11 21:259 reduce 9:0,target 8 21:261 reduce 26:262,target 15 21:262 reduce 12:272 goto 21:263 reduce 34:0 reduce 21:264 reduce 32:261,target 18 9:259 reduce 21:266 reduce 23:270,target 1 21:267 reduce 30:259 reduce 29:259 reduce 21:268 reduce 30:261 reduce 29:261 reduce 21:270 reduce 30:262 reduce 29:262 reduce 28:268,target 17 28:0,target 17 20:277,target 34 21:271 reduce 30:263 reduce 29:263 reduce 14:257,target 23 21:0,target 12 30:264 reduce 29:264 reduce 21:261,target 12 27:264,target 16 7:266,target 15 8:0 reduce 34:267,target 11 30:266 reduce 29:266 reduce 30:267 reduce 29:267 reduce 30:268 reduce 29:268 reduce 26:259,target 15 33:263,target 19 31:0 reduce 30:270 reduce 29:270 reduce 30:271 reduce 29:271 reduce 23:267,target 1 30:271,target 20 29:271,target 13 13:272,target 27 28:266,target 17 5:0 accept } array set movie::rules { 9,l 275 11,l 276 15,l 277 20,l 277 19,l 277 2,l 272 6,l 275 12,l 276 16,l 277 21,l 277 3,l 273 7,l 275 13,l 277 0,l 278 17,l 277 4,l 274 8,l 275 10,l 275 14,l 277 18,l 277 1,l 272 5,l 273 } array set movie::rules { 5,dc 3 0,dc 1 17,dc 2 12,dc 1 8,dc 2 21,dc 2 3,dc 1 15,dc 2 10,dc 3 6,dc 1 18,dc 2 1,dc 1 13,dc 2 9,dc 2 4,dc 0 16,dc 2 11,dc 2 7,dc 2 20,dc 2 19,dc 2 2,dc 1 14,dc 2 } array set movie::rules { 13,line 52 7,line 42 10,line 45 4,line 37 18,line 57 1,line 33 15,line 54 9,line 44 12,line 49 6,line 41 21,line 60 3,line 37 17,line 56 4,e 1 14,line 53 8,line 43 11,line 48 5,line 38 20,line 59 19,line 58 2,line 34 16,line 55 } array set movie::lr1_table { 14,trans {{257 23} {258 24} {272 28}} 33,trans {} 18,trans {{257 32}} 1,trans {} 23,trans {} 5,trans {} 27,trans {} 9,trans {} 13,trans {{257 23} {258 24} {272 27}} 32,trans {} 17,trans {{257 31}} 0,trans {{259 1} {260 2} {265 3} {269 4} {273 5} {275 6}} 22,trans {} 4,trans {{259 9}} 26,trans {} 8,trans {} 12,trans {{257 23} {258 24} {272 26}} 31,trans {} 16,trans {{257 30}} 21,trans {} 3,trans {{259 8}} 10 {{5 0 2}} 11 {{14 {0 259 261 262 263 264 266 267 268 270 271} 1} {1 {0 259 261 262 263 264 266 267 268 270 271} 0} {2 {0 259 261 262 263 264 266 267 268 270 271} 0}} 25,trans {} 12 {{15 {0 259 261 262 263 264 266 267 268 270 271} 1} {1 {0 259 261 262 263 264 266 267 268 270 271} 0} {2 {0 259 261 262 263 264 266 267 268 270 271} 0}} 7,trans {{261 11} {262 12} {263 13} {264 14} {266 15} {267 16} {268 17} {270 18} {271 19} {276 20} {277 21}} 13 {{16 {0 259 261 262 263 264 266 267 268 270 271} 1} {1 {0 259 261 262 263 264 266 267 268 270 271} 0} {2 {0 259 261 262 263 264 266 267 268 270 271} 0}} 14 {{17 {0 259 261 262 263 264 266 267 268 270 271} 1} {1 {0 259 261 262 263 264 266 267 268 270 271} 0} {2 {0 259 261 262 263 264 266 267 268 270 271} 0}} 15 {{13 {0 259 261 262 263 264 266 267 268 270 271} 1}} 11,trans {{257 23} {258 24} {272 25}} 30,trans {} 29,trans {} 16 {{20 {0 259 261 262 263 264 266 267 268 270 271} 1}} 0 {{0 0 0} {3 0 0} {5 0 0} {6 {0 259} 0} {7 {0 259} 0} {8 {0 259} 0} {9 {0 259} 0} {10 {0 259} 0}} 17 {{21 {0 259 261 262 263 264 266 267 268 270 271} 1}} 1 {{6 {0 259} 1}} 18 {{18 {0 259 261 262 263 264 266 267 268 270 271} 1}} 2 {{9 {0 259} 1} {10 {0 259} 1}} 19 {{19 {0 259 261 262 263 264 266 267 268 270 271} 1}} 20 {{10 {0 259} 3} {11 {0 259 261 262 263 264 266 267 268 270 271} 1} {13 {0 259 261 262 263 264 266 267 268 270 271} 0} {14 {0 259 261 262 263 264 266 267 268 270 271} 0} {15 {0 259 261 262 263 264 266 267 268 270 271} 0} {16 {0 259 261 262 263 264 266 267 268 270 271} 0} {17 {0 259 261 262 263 264 266 267 268 270 271} 0} {18 {0 259 261 262 263 264 266 267 268 270 271} 0} {19 {0 259 261 262 263 264 266 267 268 270 271} 0} {20 {0 259 261 262 263 264 266 267 268 270 271} 0} {21 {0 259 261 262 263 264 266 267 268 270 271} 0}} 15,trans {{257 29}} 34,trans {} 3 {{7 {0 259} 1}} 21 {{12 {0 259 261 262 263 264 266 267 268 270 271} 1}} 4 {{8 {0 259} 1}} 22 {{5 0 3}} 5 {{0 0 1}} 23 {{1 {0 259 261 262 263 264 266 267 268 270 271} 1}} 20,trans {{261 11} {262 12} {263 13} {264 14} {266 15} {267 16} {268 17} {270 18} {271 19} {277 34}} 19,trans {{257 33}} 2,trans {{259 7}} 6 {{3 0 1} {5 0 1} {4 259 0}} 24 {{2 {0 259 261 262 263 264 266 267 268 270 271} 1}} 7 {{9 {0 259} 2} {10 {0 259} 2} {11 {0 259 261 262 263 264 266 267 268 270 271} 0} {12 {0 259 261 262 263 264 266 267 268 270 271} 0} {13 {0 259 261 262 263 264 266 267 268 270 271} 0} {14 {0 259 261 262 263 264 266 267 268 270 271} 0} {15 {0 259 261 262 263 264 266 267 268 270 271} 0} {16 {0 259 261 262 263 264 266 267 268 270 271} 0} {17 {0 259 261 262 263 264 266 267 268 270 271} 0} {18 {0 259 261 262 263 264 266 267 268 270 271} 0} {19 {0 259 261 262 263 264 266 267 268 270 271} 0} {20 {0 259 261 262 263 264 266 267 268 270 271} 0} {21 {0 259 261 262 263 264 266 267 268 270 271} 0}} 25 {{14 {0 259 261 262 263 264 266 267 268 270 271} 2}} 8 {{7 {0 259} 2}} 26 {{15 {0 259 261 262 263 264 266 267 268 270 271} 2}} 9 {{8 {0 259} 2}} 27 {{16 {0 259 261 262 263 264 266 267 268 270 271} 2}} 24,trans {} 6,trans {{274 10}} 28 {{17 {0 259 261 262 263 264 266 267 268 270 271} 2}} 29 {{13 {0 259 261 262 263 264 266 267 268 270 271} 2}} 30 {{20 {0 259 261 262 263 264 266 267 268 270 271} 2}} 31 {{21 {0 259 261 262 263 264 266 267 268 270 271} 2}} 32 {{18 {0 259 261 262 263 264 266 267 268 270 271} 2}} 10,trans {{259 22}} 28,trans {} 33 {{19 {0 259 261 262 263 264 266 267 268 270 271} 2}} 34 {{11 {0 259 261 262 263 264 266 267 268 270 271} 2}} } array set movie::token_id_table { 264,line 18 270,t 0 269,t 0 276,line 47 265,title FRAME 274,t 1 261,line 15 257,t 0 270,title SLFROM 269,title SLICE 273,line 36 278,t 1 257,line 7 262,t 0 274,title {} 270,line 24 269,line 23 259,title string 260,title 3D 266,t 0 278,title {} error error 271,t 0 264,title ELTO 266,line 20 278,line 61 275,t 1 error,line 31 268,title REPEAT 258,t 0 263,line 17 error,title {} 275,line 40 273,title {} 263,t 0 259,line 10 260,line 14 258,title float 277,title {} 272,line 32 267,t 0 263,title ELFROM 272,t 1 268,line 22 267,title OSCILLATE 257 INT_ 276,t 1 258 REAL_ 259,t 0 259 STRING_ 260 3D_ 260,t 0 272,title {} 261 AZFROM_ 265,line 19 262 AZTO_ 263 ELFROM_ 277,line 51 257,title integer 264 ELTO_ 264,t 0 276,title {} 265 FRAME_ 262,line 16 266 NUMBER_ 267 OSCILLATE_ 0,t 0 0 {$} 262,title AZTO 268 REPEAT_ 268,t 0 274,line 37 270 SLFROM_ 269 SLICE_ error,t 0 271 SLTO_ 272 numeric 258,line 8 273,t 1 273 command 266,title NUMBER 274 @PSEUDO1 275 movie 271,line 25 276 opts 277,t 1 277 opt 271,title SLTO 278 start' 261,t 0 267,line 21 275,title {} 265,t 0 261,title AZFROM } proc movie::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 } 4 { global ds9; if {!$ds9(init)} {YYERROR} else {yyclearin; YYACCEPT} } 6 { ProcessCmdSet movie action frame; Movie $1 } 7 { ProcessCmdSet movie action frame; Movie $2 } 8 { ProcessCmdSet movie action slice; Movie $2 } 9 { ProcessCmdSet movie action 3d; Movie $2 } 10 { ProcessCmdSet movie action 3d; Movie $2 } 13 { ProcessCmdSet movie number $2 } 14 { ProcessCmdSet movie azfrom $2 } 15 { ProcessCmdSet movie azto $2 } 16 { ProcessCmdSet movie elfrom $2 } 17 { ProcessCmdSet movie elto $2 } 18 { ProcessCmdSet movie slfrom $2 } 19 { ProcessCmdSet movie slto $2 } 20 { ProcessCmdSet movie repeat oscillate; ProcessCmdSet movie repeat,num $2 } 21 { ProcessCmdSet movie repeat repeat; ProcessCmdSet movie repeat,num $2 } } 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 movie::yyerror {msg} { variable yycnt variable yy_current_buffer variable index_ ParserError $msg $yycnt $yy_current_buffer $index_ }