summaryrefslogtreecommitdiffstats
path: root/ds9/parsers
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2019-02-15 18:11:21 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2019-02-15 18:11:21 (GMT)
commiteca5f0be98b142883b24a26e3580b4b9b58dc14e (patch)
tree7862fa51f55c05dd6d52c02d7a547046077b494a /ds9/parsers
parent8e9702dcb9f77a4eb539ec7fdf6eaa43f4d3aba7 (diff)
downloadblt-eca5f0be98b142883b24a26e3580b4b9b58dc14e.zip
blt-eca5f0be98b142883b24a26e3580b4b9b58dc14e.tar.gz
blt-eca5f0be98b142883b24a26e3580b4b9b58dc14e.tar.bz2
add animated gif support
Diffstat (limited to 'ds9/parsers')
-rw-r--r--ds9/parsers/movielex.fcl2
-rw-r--r--ds9/parsers/movielex.tcl122
-rw-r--r--ds9/parsers/movieparser.tab.tcl14
-rw-r--r--ds9/parsers/movieparser.tac24
-rw-r--r--ds9/parsers/movieparser.tcl1158
5 files changed, 758 insertions, 562 deletions
diff --git a/ds9/parsers/movielex.fcl b/ds9/parsers/movielex.fcl
index 04de0d5..fd8f224 100644
--- a/ds9/parsers/movielex.fcl
+++ b/ds9/parsers/movielex.fcl
@@ -13,6 +13,8 @@ azto {return $AZTO_}
elfrom {return $ELFROM_}
elto {return $ELTO_}
frame {return $FRAME_}
+gif {return $GIF_}
+mpeg {return $MPEG_}
number {return $NUMBER_}
oscillate {return $OSCILLATE_}
repeat {return $REPEAT_}
diff --git a/ds9/parsers/movielex.tcl b/ds9/parsers/movielex.tcl
index 5de2f45..6989940 100644
--- a/ds9/parsers/movielex.tcl
+++ b/ds9/parsers/movielex.tcl
@@ -188,12 +188,14 @@ set AZTO_ 262
set ELFROM_ 263
set ELTO_ 264
set FRAME_ 265
-set NUMBER_ 266
-set OSCILLATE_ 267
-set REPEAT_ 268
-set SLICE_ 269
-set SLFROM_ 270
-set SLTO_ 271
+set GIF_ 266
+set MPEG_ 267
+set NUMBER_ 268
+set OSCILLATE_ 269
+set REPEAT_ 270
+set SLICE_ 271
+set SLFROM_ 272
+set SLTO_ 273
while {1} {
if {[string length $yy_current_buffer] - $index_ < 1024} {
@@ -257,111 +259,125 @@ set SLTO_ 271
set yyleng [string length $yytext]
set matched_rule 5
}
- # rule 6: number
- if {[regexp -start $index_ -indices -line -nocase -- {\A(number)} $yy_current_buffer match] > 0 && \
+ # rule 6: gif
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(gif)} $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: oscillate
- if {[regexp -start $index_ -indices -line -nocase -- {\A(oscillate)} $yy_current_buffer match] > 0 && \
+ # rule 7: mpeg
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(mpeg)} $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: repeat
- if {[regexp -start $index_ -indices -line -nocase -- {\A(repeat)} $yy_current_buffer match] > 0 && \
+ # rule 8: number
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(number)} $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: slice
- if {[regexp -start $index_ -indices -line -nocase -- {\A(slice)} $yy_current_buffer match] > 0 && \
+ # rule 9: oscillate
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(oscillate)} $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: slfrom
- if {[regexp -start $index_ -indices -line -nocase -- {\A(slfrom)} $yy_current_buffer match] > 0 && \
+ # rule 10: repeat
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(repeat)} $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: slto
- if {[regexp -start $index_ -indices -line -nocase -- {\A(slto)} $yy_current_buffer match] > 0 && \
+ # rule 11: slice
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(slice)} $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: [+-]?{D}+
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+)} $yy_current_buffer match] > 0 && \
+ # rule 12: slfrom
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(slfrom)} $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: [+-]?{D}+\.?({E})?
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+\.?(([Ee][+-]?([0-9])+))?)} $yy_current_buffer match] > 0 && \
+ # rule 13: slto
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(slto)} $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: [+-]?{D}*\.{D}+({E})?
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])*\.([0-9])+(([Ee][+-]?([0-9])+))?)} $yy_current_buffer match] > 0 && \
+ # rule 14: [+-]?{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 14
}
- # rule 15: \"[^\"]*\"
- if {[regexp -start $index_ -indices -line -nocase -- {\A(\"[^\"]*\")} $yy_current_buffer match] > 0 && \
+ # rule 15: [+-]?{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 15
}
- # rule 16: \'[^\']*\'
- if {[regexp -start $index_ -indices -line -nocase -- {\A(\'[^\']*\')} $yy_current_buffer match] > 0 && \
+ # rule 16: [+-]?{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 16
}
- # rule 17: \{[^\}]*\}
- if {[regexp -start $index_ -indices -line -nocase -- {\A(\{[^\}]*\})} $yy_current_buffer match] > 0 && \
+ # rule 17: \"[^\"]*\"
+ 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 17
}
- # rule 18: \S+\S+
- if {[regexp -start $index_ -indices -line -nocase -- {\A(\S+\S+)} $yy_current_buffer match] > 0 && \
+ # rule 18: \'[^\']*\'
+ 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 18
}
- # rule 19: \s
- if {[regexp -start $index_ -indices -line -nocase -- {\A(\s)} $yy_current_buffer match] > 0 && \
+ # rule 19: \{[^\}]*\}
+ 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 19
}
- # rule 20: .
- if {[regexp -start $index_ -indices -line -nocase -- {\A(.)} $yy_current_buffer match] > 0 && \
+ # rule 20: \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 20
}
+ # rule 21: \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 21
+ }
+ # rule 22: .
+ 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 22
+ }
if {$matched_rule == -1} {
set yytext [string index $yy_current_buffer $index_]
set yyleng 1
@@ -393,46 +409,52 @@ return $ELTO_
return $FRAME_
}
6 {
-return $NUMBER_
+return $GIF_
}
7 {
-return $OSCILLATE_
+return $MPEG_
}
8 {
-return $REPEAT_
+return $NUMBER_
}
9 {
-return $SLICE_
+return $OSCILLATE_
}
10 {
-return $SLFROM_
+return $REPEAT_
}
11 {
-return $SLTO_
+return $SLICE_
}
12 {
-set yylval $yytext; return $INT_
+return $SLFROM_
+ }
+ 13 {
+return $SLTO_
}
- 13 -
14 {
+set yylval $yytext; return $INT_
+ }
+ 15 -
+ 16 {
set yylval $yytext; return $REAL_
}
- 15 {
+ 17 {
set yylval [string range $yytext 1 end-1]; return $STRING_
}
- 16 {
+ 18 {
set yylval [string range $yytext 1 end-1]; return $STRING_
}
- 17 {
+ 19 {
set yylval [string range $yytext 1 end-1]; return $STRING_
}
- 18 {
+ 20 {
set yylval $yytext; return $STRING_
}
- 19 {
+ 21 {
# ignore whitespace
}
- 20 {
+ 22 {
set yylval $yytext; return $yylval
}
default
diff --git a/ds9/parsers/movieparser.tab.tcl b/ds9/parsers/movieparser.tab.tcl
index f81690c..b9fa714 100644
--- a/ds9/parsers/movieparser.tab.tcl
+++ b/ds9/parsers/movieparser.tab.tcl
@@ -7,9 +7,11 @@ set AZTO_ 262
set ELFROM_ 263
set ELTO_ 264
set FRAME_ 265
-set NUMBER_ 266
-set OSCILLATE_ 267
-set REPEAT_ 268
-set SLICE_ 269
-set SLFROM_ 270
-set SLTO_ 271
+set GIF_ 266
+set MPEG_ 267
+set NUMBER_ 268
+set OSCILLATE_ 269
+set REPEAT_ 270
+set SLICE_ 271
+set SLFROM_ 272
+set SLTO_ 273
diff --git a/ds9/parsers/movieparser.tac b/ds9/parsers/movieparser.tac
index e48f9f0..3b28de8 100644
--- a/ds9/parsers/movieparser.tac
+++ b/ds9/parsers/movieparser.tac
@@ -13,6 +13,8 @@
%token ELFROM_
%token ELTO_
%token FRAME_
+%token GIF_
+%token MPEG_
%token NUMBER_
%token OSCILLATE_
%token REPEAT_
@@ -28,11 +30,23 @@ command : movie
| movie {global ds9; if {!$ds9(init)} {YYERROR} else {yyclearin; YYACCEPT}} STRING_
;
-movie : STRING_ {ProcessCmdSet movie action frame; Movie $1}
- | FRAME_ STRING_ {ProcessCmdSet movie action frame; Movie $2}
- | SLICE_ STRING_ {ProcessCmdSet movie action slice; Movie $2}
- | 3D_ STRING_ {ProcessCmdSet movie action 3d; Movie $2}
- | 3D_ STRING_ opts {ProcessCmdSet movie action 3d; Movie $2}
+movie : STRING_ {ProcessCmdSet2 movie action slice type mpeg; MovieCreate $1}
+ | action STRING_ {ProcessCmdSet2 movie action $1 type mpeg; MovieCreate $2}
+ | type STRING_ {ProcessCmdSet2 movie action slice type $1; MovieCreate $2}
+ | action type STRING_ {ProcessCmdSet2 movie action $1 type $2; MovieCreate $3}
+
+ | 3D_ STRING_ {ProcessCmdSet2 movie action 3d type mpeg; MovieCreate $2}
+ | 3D_ type STRING_ {ProcessCmdSet2 movie action 3d type $2; MovieCreate $3}
+ | 3D_ STRING_ opts {ProcessCmdSet2 movie action 3d type mpeg; MovieCreate $2}
+ | 3D_ type STRING_ opts {ProcessCmdSet2 movie action 3d type $1; MovieCreate $2}
+ ;
+
+action : FRAME_ {set _ frame}
+ | SLICE_ {set _ slice}
+ ;
+
+type : MPEG_ {set _ mpeg}
+ | GIF_ {set _ gif}
;
opts : opts opt
diff --git a/ds9/parsers/movieparser.tcl b/ds9/parsers/movieparser.tcl
index 4151b37..0d3eac5 100644
--- a/ds9/parsers/movieparser.tcl
+++ b/ds9/parsers/movieparser.tcl
@@ -61,580 +61,715 @@ proc movie::unsetupvalues {numsyms} {
}
array set movie::table {
- 27:262,target 16
- 7:264,target 14
+ 38:272 reduce
17:257 shift
+ 27:262,target 19
+ 38:273 reduce
+ 17:258 shift
+ 41:268,target 26
+ 11:263,target 19
+ 6:259,target 15
27:0 reduce
- 6:259,target 4
- 33:261,target 19
- 24:270,target 2
- 30:268,target 20
- 29:268,target 13
+ 33:261,target 21
+ 40:264,target 25
+ 39:264,target 28
+ 31:273,target 1
+ 3:267,target 14
+ 38:259,target 27
6:259 reduce
- 15:257,target 29
+ 36:272,target 24
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
+ 28:264,target 20
+ 0:275,target 7
+ 26:261 shift
+ 26:262 shift
+ 26:263 shift
+ 6:266 reduce
+ 26:264 shift
+ 27:259,target 19
+ 34:263,target 22
+ 6:267 reduce
+ 17:274 goto
+ 11:261,target 17
+ 41:0,target 26
+ 35:259 reduce
+ 26:268 shift
+ 40:262,target 25
+ 39:262,target 28
+ 35:261 reduce
+ 33:0,target 21
+ 26:269 shift
+ 26:270 shift
+ 35:262 reduce
+ 16:259,target 8
+ 35:263 reduce
+ 26:272 shift
+ 35:264 reduce
+ 26:273 shift
+ 36:270,target 24
+ 36:269,target 24
+ 43:273,target 25
+ 28:262,target 18
+ 11:280,target 26
+ 35:268 reduce
+ 42:268,target 18
+ 35:270 reduce
+ 35:269 reduce
+ 35:272 reduce
+ 34:261,target 22
+ 26:281 goto
+ 41:264,target 26
+ 35:273 reduce
+ 32:273,target 2
+ 14:259 reduce
+ 42:0 reduce
+ 40:259,target 25
+ 39:259,target 28
+ 31:268,target 1
+ 2:279,target 12
+ 37:272,target 20
+ 28:281,target 27
+ 9:266,target 4
+ 3:259 reduce
+ 23:257 shift
+ 0:271,target 6
+ 28:259,target 11
+ 35:263,target 23
+ 26:272,target 24
+ 3:266 reduce
+ 41:262,target 26
+ 3:267 reduce
+ 38:0 reduce
32:259 reduce
- 31:266,target 21
- 23:268 reduce
+ 37:270,target 20
+ 37:269,target 20
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
+ 43:268,target 21
+ 8:259,target 4
+ 35:261,target 23
+ 26:269,target 22
+ 26:270,target 23
+ 42:264,target 18
+ 41:259 reduce
+ 37:0,target 20
+ 33:273,target 21
32:268 reduce
- 12:258,target 24
+ 14:0 reduce
+ 41:261 reduce
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
+ 32:269 reduce
+ 30:0,target 9
+ 29:0,target 5
+ 41:262 reduce
+ 41:263 reduce
+ 41:259,target 26
+ 35:0 reduce
+ 32:272 reduce
+ 32:268,target 2
+ 14:0,target 7
+ 41:264 reduce
+ 38:272,target 27
+ 32:273 reduce
17:257,target 31
- 24:261,target 2
- 31:264,target 21
- 30:259,target 20
- 29:259,target 13
- 21:268,target 12
+ 11:259 reduce
+ 31:264,target 1
+ 11:261 shift
+ 11:262 shift
+ 41:268 reduce
+ 11:263 shift
+ 41:270 reduce
+ 41:269 reduce
+ 30:259,target 9
+ 11:264 shift
+ 36:263,target 24
+ 27:272,target 19
+ 41:272 reduce
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
+ 20:257 shift
+ 41:273 reduce
+ 0:266,target 4
+ 11:273,target 25
+ 19:258 shift
+ 20:258 shift
+ 11:0 reduce
+ 11:268 shift
+ 42:262,target 18
+ 11:269 shift
+ 11:270 shift
32:0 reduce
- 25:263,target 14
0:265 shift
- 11:272 goto
- 20:263 shift
- 32:266,target 18
- 20:264 shift
+ 11:272 shift
+ 0:266 shift
+ 11:273 shift
+ 38:270,target 27
+ 38:269,target 27
+ 0:267 shift
8:259 reduce
- 20:266 shift
- 31:262,target 21
- 0:269 shift
- 20:267 shift
+ 31:262,target 1
+ 0:271 shift
+ 8:276,target 13
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
+ 28:261 shift
+ 28:262 shift
+ 9:259,target 14
+ 11:280 goto
+ 36:261,target 24
+ 28:263 shift
+ 11:281 goto
+ 27:269,target 19
+ 27:270,target 19
+ 43:264,target 20
+ 34:273,target 22
+ 28:264 shift
0:275 goto
- 13:258,target 24
- 20:262,target 12
- 28:266 reduce
- 33:268,target 19
- 28:267 reduce
- 28:268 reduce
+ 19:274 goto
+ 20:274 goto
+ 0:277 goto
+ 6:267,target 15
+ 17:274,target 33
+ 42:259,target 18
+ 33:268,target 21
+ 0:278 goto
+ 40:272,target 25
+ 39:272,target 28
+ 37:259 reduce
+ 28:268 shift
+ 0:279 goto
+ 7:0,target 0
+ 18:257,target 31
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
+ 37:261 reduce
+ 28:270 shift
+ 28:269 shift
+ 37:262 reduce
+ 32:264,target 2
+ 37:263 reduce
+ 28:272 shift
+ 37:264 reduce
+ 28:273 shift
+ 31:259,target 1
+ 8:276 goto
+ 37:263,target 20
+ 28:272,target 24
+ 42:0,target 18
+ 37:268 reduce
+ 34:0,target 22
+ 37:270 reduce
+ 37:269 reduce
+ 26:0,target 12
+ 43:262,target 18
+ 28:280 goto
+ 37:272 reduce
+ 28:281 goto
+ 11:0,target 10
+ 11:268,target 21
+ 37:273 reduce
+ 26:263,target 19
+ 16:259 reduce
+ 40:270,target 25
+ 40:269,target 25
+ 39:270,target 28
+ 39:269,target 28
+ 32:262,target 2
+ 43:281,target 42
+ 5:259 reduce
+ 25:257 shift
+ 37:261,target 20
+ 28:270,target 23
+ 28:269,target 22
+ 35:273,target 23
+ 18:274,target 34
+ 43:259,target 13
+ 34:268,target 22
+ 41:272,target 26
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
+ 19:257,target 31
+ 20:257,target 31
+ 26:261,target 17
+ 33:264,target 21
+ 43:0 reduce
34:259 reduce
- 25:268 reduce
34:261 reduce
- 32:259,target 18
- 25:270 reduce
- 23:268,target 1
+ 32:259,target 2
+ 38:263,target 27
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
+ 2:266,target 4
+ 0:278,target 9
+ 43:259 reduce
34:268 reduce
- 27:263,target 16
+ 27:263,target 19
+ 43:261 shift
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
+ 34:269 reduce
+ 43:262 shift
+ 41:270,target 26
+ 41:269,target 26
+ 11:264,target 20
+ 43:263 shift
+ 34:272 reduce
+ 43:264 shift
+ 34:273 reduce
+ 33:262,target 21
+ 40:0 reduce
+ 39:0 reduce
+ 10:259,target 16
+ 13:259 shift
+ 38:0,target 27
+ 43:268 shift
+ 38:261,target 27
+ 31:0,target 1
+ 43:270 shift
+ 43:269 shift
+ 36:273,target 24
+ 43:272 shift
2:259 shift
+ 19:274,target 35
+ 20:274,target 36
+ 22:257 shift
+ 43:273 shift
+ 35:268,target 23
+ 42:272,target 18
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
+ 21:257,target 37
+ 27:261,target 19
+ 34:264,target 22
+ 11:262,target 18
+ 2:266 shift
+ 36:0 reduce
+ 33:259,target 21
+ 2:267 shift
+ 43:281 goto
+ 40:263,target 25
+ 39:263,target 28
+ 31:272,target 1
31:259 reduce
- 23:264,target 1
+ 3:266,target 14
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
+ 28:263,target 19
+ 11:281,target 27
+ 42:270,target 18
+ 42:269,target 18
+ 40:259 reduce
+ 39:259 reduce
+ 34:262,target 22
31:268 reduce
- 25:271,target 14
+ 2:279 goto
+ 40:261 reduce
+ 39:261 reduce
31:270 reduce
+ 31:269 reduce
+ 11:259,target 10
+ 40:262 reduce
+ 39:262 reduce
33:0 reduce
- 31:271 reduce
- 24:266,target 2
- 31:270,target 21
+ 40:263 reduce
+ 39:263 reduce
+ 31:272 reduce
+ 40:264 reduce
+ 40:261,target 25
+ 39:264 reduce
+ 39:261,target 28
+ 31:273 reduce
+ 31:270,target 1
+ 31:269,target 1
+ 37:273,target 20
10:259 shift
- 23:262,target 1
- 8:0,target 7
+ 8:0,target 3
+ 9:267,target 5
+ 40:268 reduce
+ 39:268 reduce
+ 36:268,target 24
1:0,target 6
- 2:259,target 7
+ 43:272,target 24
+ 40:270 reduce
+ 40:269 reduce
+ 39:270 reduce
+ 39:269 reduce
+ 2:259,target 11
+ 22:257,target 38
28:261,target 17
- 20:270,target 18
- 7:0 reduce
+ 40:272 reduce
+ 39:272 reduce
+ 35:264,target 23
+ 7:0 accept
18:257 shift
- 34:259,target 11
- 25:268,target 14
+ 26:273,target 25
+ 40:273 reduce
+ 39:273 reduce
+ 18:258 shift
+ 43:0,target 13
+ 34:259,target 22
+ 41:263,target 26
+ 35:0,target 23
+ 32:272,target 2
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:0,target 19
+ 28:280,target 43
27:259 reduce
- 7:262 shift
27:261 reduce
- 7:263 shift
- 7:277,target 21
+ 43:270,target 23
+ 43:269,target 22
27:262 reduce
- 7:264 shift
27:263 reduce
- 0:269,target 4
- 20:267,target 16
+ 35:262,target 23
27:264 reduce
- 26:271,target 15
- 7:266 shift
- 7:267 shift
- 27:266 reduce
- 7:268 shift
- 27:267 reduce
+ 12:259,target 28
+ 18:274 goto
26:0 reduce
- 25:266,target 14
- 7:270 shift
- 32:270,target 18
+ 41:261,target 26
+ 36:259 reduce
+ 32:270,target 2
+ 32:269,target 2
27:268 reduce
- 7:271 shift
+ 38:273,target 27
+ 36:261 reduce
+ 17:258,target 32
+ 27:269 reduce
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
+ 36:262 reduce
+ 36:263 reduce
+ 27:272 reduce
+ 37:268,target 20
+ 36:264 reduce
+ 27:273 reduce
+ 3:259,target 14
+ 23:257,target 39
+ 36:264,target 24
+ 27:273,target 19
+ 36:268 reduce
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
+ 36:270 reduce
+ 36:269 reduce
+ 0:267,target 5
+ 35:259,target 23
+ 26:268,target 21
+ 42:263,target 18
+ 36:272 reduce
+ 33:272,target 21
+ 36:273 reduce
+ 15:259 shift
+ 31:263,target 1
+ 4:259 reduce
+ 24:257 shift
+ 36:262,target 24
+ 40:0,target 25
+ 39:0,target 28
+ 13:259,target 29
+ 32:0,target 2
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
+ 11:272,target 24
+ 42:261,target 18
+ 33:270,target 21
+ 33:269,target 21
+ 16:0,target 8
+ 40:273,target 25
+ 39:273,target 28
+ 18:258,target 32
+ 41:0 reduce
+ 38:268,target 27
33:259 reduce
- 24:268 reduce
+ 9:279,target 15
33:261 reduce
- 4:259,target 9
- 24:270 reduce
+ 4:259,target 17
+ 24:257,target 40
33:262 reduce
- 31:261,target 21
- 24:271 reduce
+ 31:261,target 1
+ 37:264,target 20
33:263 reduce
+ 28:273,target 25
33:264 reduce
- 33:266 reduce
- 27:268,target 16
- 7:271,target 19
- 33:267 reduce
- 13:257,target 23
+ 36:259,target 24
+ 27:268,target 19
+ 43:263,target 19
+ 34:272,target 22
+ 42:259 reduce
33:268 reduce
- 20:261,target 11
+ 11:269,target 22
+ 11:270,target 23
+ 42:261 reduce
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
+ 33:269 reduce
+ 6:266,target 15
+ 16:0 reduce
+ 26:264,target 20
+ 42:262 reduce
+ 42:263 reduce
+ 33:272 reduce
+ 42:264 reduce
+ 37:0 reduce
+ 33:273 reduce
+ 32:263,target 2
+ 12:259 shift
+ 42:268 reduce
+ 42:270 reduce
+ 42:269 reduce
+ 37:262,target 20
+ 14:259,target 7
+ 42:272 reduce
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
+ 21:257 shift
+ 42:273 reduce
+ 43:261,target 17
+ 34:270,target 22
+ 34:269,target 22
+ 41:273,target 26
+ 19:258,target 32
+ 20:258,target 32
+ 26:262,target 18
+ 40:268,target 25
+ 39:268,target 28
34:0 reduce
- 21:264 reduce
- 32:261,target 18
- 9:259 reduce
- 21:266 reduce
- 23:270,target 1
- 21:267 reduce
+ 5:259,target 16
+ 25:257,target 41
+ 32:261,target 2
+ 9:259 shift
+ 38:264,target 27
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
+ 36:0,target 24
+ 2:267,target 5
+ 37:259,target 20
+ 28:268,target 21
+ 0:279,target 10
+ 28:0,target 11
+ 35:272,target 23
+ 26:281,target 42
+ 9:266 shift
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
+ 9:267 shift
+ 27:264,target 19
+ 38:259 reduce
+ 26:259,target 12
+ 38:261 reduce
+ 33:263,target 21
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
+ 38:262 reduce
+ 38:263 reduce
+ 38:264 reduce
+ 38:262,target 27
+ 15:259,target 30
+ 38:268 reduce
+ 0:277,target 8
+ 9:279 goto
+ 38:270 reduce
+ 38:269 reduce
+ 35:270,target 23
+ 35:269,target 23
+ 42:273,target 18
}
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
+ 27,l 281
+ 9,l 277
+ 11,l 277
+ 15,l 278
+ 20,l 281
+ 19,l 280
+ 2,l 274
+ 24,l 281
+ 6,l 277
+ 28,l 281
+ 12,l 277
+ 16,l 279
+ 21,l 281
+ 3,l 275
+ 25,l 281
+ 7,l 277
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
+ 0,l 282
+ 17,l 279
+ 22,l 281
+ 4,l 276
+ 26,l 281
+ 8,l 277
+ 10,l 277
+ 14,l 278
+ 18,l 280
+ 1,l 274
+ 23,l 281
+ 5,l 275
}
array set movie::rules {
+ 23,dc 2
5,dc 3
0,dc 1
- 17,dc 2
- 12,dc 1
+ 17,dc 1
+ 12,dc 3
+ 26,dc 2
8,dc 2
21,dc 2
3,dc 1
- 15,dc 2
- 10,dc 3
+ 15,dc 1
+ 10,dc 2
+ 24,dc 2
6,dc 1
18,dc 2
1,dc 1
- 13,dc 2
- 9,dc 2
+ 13,dc 4
+ 27,dc 2
+ 9,dc 3
+ 22,dc 2
4,dc 0
- 16,dc 2
- 11,dc 2
+ 16,dc 1
+ 11,dc 3
+ 25,dc 2
7,dc 2
20,dc 2
- 19,dc 2
+ 19,dc 1
2,dc 1
- 14,dc 2
+ 14,dc 1
+ 28,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
+ 13,line 51
+ 25,line 71
+ 7,line 44
+ 10,line 48
+ 22,line 68
+ 4,line 39
+ 18,line 62
+ 1,line 35
+ 15,line 55
+ 27,line 73
+ 9,line 47
+ 12,line 50
+ 24,line 70
+ 6,line 43
+ 21,line 67
+ 3,line 39
+ 17,line 59
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
+ 14,line 54
+ 26,line 72
+ 8,line 45
+ 11,line 49
+ 23,line 69
+ 5,line 40
+ 20,line 66
+ 19,line 63
+ 2,line 36
+ 16,line 58
+ 28,line 74
}
array set movie::lr1_table {
- 14,trans {{257 23} {258 24} {272 28}}
+ 35 {{23 {0 259 261 262 263 264 268 269 270 272 273} 2}}
+ 36 {{24 {0 259 261 262 263 264 268 269 270 272 273} 2}}
+ 14,trans {}
33,trans {}
- 18,trans {{257 32}}
+ 37 {{20 {0 259 261 262 263 264 268 269 270 272 273} 2}}
+ 38 {{27 {0 259 261 262 263 264 268 269 270 272 273} 2}}
+ 40 {{25 {0 259 261 262 263 264 268 269 270 272 273} 2}}
+ 39 {{28 {0 259 261 262 263 264 268 269 270 272 273} 2}}
+ 41 {{26 {0 259 261 262 263 264 268 269 270 272 273} 2}}
+ 18,trans {{257 31} {258 32} {274 34}}
1,trans {}
- 23,trans {}
+ 37,trans {}
+ 42 {{18 {0 259 261 262 263 264 268 269 270 272 273} 2}}
+ 43 {{13 {0 259} 4} {18 {0 259 261 262 263 264 268 269 270 272 273} 1} {20 {0 259 261 262 263 264 268 269 270 272 273} 0} {21 {0 259 261 262 263 264 268 269 270 272 273} 0} {22 {0 259 261 262 263 264 268 269 270 272 273} 0} {23 {0 259 261 262 263 264 268 269 270 272 273} 0} {24 {0 259 261 262 263 264 268 269 270 272 273} 0} {25 {0 259 261 262 263 264 268 269 270 272 273} 0} {26 {0 259 261 262 263 264 268 269 270 272 273} 0} {27 {0 259 261 262 263 264 268 269 270 272 273} 0} {28 {0 259 261 262 263 264 268 269 270 272 273} 0}}
+ 23,trans {{257 39}}
5,trans {}
+ 42,trans {}
27,trans {}
- 9,trans {}
- 13,trans {{257 23} {258 24} {272 27}}
+ 9,trans {{259 14} {266 4} {267 5} {279 15}}
+ 13,trans {{259 29}}
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}}
+ 17,trans {{257 31} {258 32} {274 33}}
+ 0,trans {{259 1} {260 2} {265 3} {266 4} {267 5} {271 6} {275 7} {277 8} {278 9} {279 10}}
+ 36,trans {}
+ 22,trans {{257 38}}
+ 4,trans {}
+ 41,trans {}
+ 26,trans {{261 17} {262 18} {263 19} {264 20} {268 21} {269 22} {270 23} {272 24} {273 25} {281 42}}
+ 8,trans {{276 13}}
+ 12,trans {{259 28}}
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}}
+ 16,trans {}
+ 35,trans {}
+ 21,trans {{257 37}}
+ 3,trans {}
+ 40,trans {}
+ 39,trans {}
+ 10 {{8 {0 259} 1}}
+ 11 {{10 {0 259} 2} {12 {0 259} 2} {18 {0 259 261 262 263 264 268 269 270 272 273} 0} {19 {0 259 261 262 263 264 268 269 270 272 273} 0} {20 {0 259 261 262 263 264 268 269 270 272 273} 0} {21 {0 259 261 262 263 264 268 269 270 272 273} 0} {22 {0 259 261 262 263 264 268 269 270 272 273} 0} {23 {0 259 261 262 263 264 268 269 270 272 273} 0} {24 {0 259 261 262 263 264 268 269 270 272 273} 0} {25 {0 259 261 262 263 264 268 269 270 272 273} 0} {26 {0 259 261 262 263 264 268 269 270 272 273} 0} {27 {0 259 261 262 263 264 268 269 270 272 273} 0} {28 {0 259 261 262 263 264 268 269 270 272 273} 0}}
+ 25,trans {{257 41}}
+ 12 {{11 {0 259} 2} {13 {0 259} 2}}
+ 7,trans {}
+ 13 {{5 0 2}}
+ 14 {{7 {0 259} 2}}
+ 15 {{9 {0 259} 2}}
+ 11,trans {{261 17} {262 18} {263 19} {264 20} {268 21} {269 22} {270 23} {272 24} {273 25} {280 26} {281 27}}
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}}
+ 16 {{8 {0 259} 2}}
+ 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} {11 {0 259} 0} {12 {0 259} 0} {13 {0 259} 0} {14 {259 266 267} 0} {15 {259 266 267} 0} {16 259 0} {17 259 0}}
+ 17 {{21 {0 259 261 262 263 264 268 269 270 272 273} 1} {1 {0 259 261 262 263 264 268 269 270 272 273} 0} {2 {0 259 261 262 263 264 268 269 270 272 273} 0}}
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}}
+ 18 {{22 {0 259 261 262 263 264 268 269 270 272 273} 1} {1 {0 259 261 262 263 264 268 269 270 272 273} 0} {2 {0 259 261 262 263 264 268 269 270 272 273} 0}}
+ 2 {{10 {0 259} 1} {11 {0 259} 1} {12 {0 259} 1} {13 {0 259} 1} {16 259 0} {17 259 0}}
+ 19 {{23 {0 259 261 262 263 264 268 269 270 272 273} 1} {1 {0 259 261 262 263 264 268 269 270 272 273} 0} {2 {0 259 261 262 263 264 268 269 270 272 273} 0}}
+ 20 {{24 {0 259 261 262 263 264 268 269 270 272 273} 1} {1 {0 259 261 262 263 264 268 269 270 272 273} 0} {2 {0 259 261 262 263 264 268 269 270 272 273} 0}}
+ 15,trans {{259 30}}
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}}
+ 3 {{14 {259 266 267} 1}}
+ 21 {{20 {0 259 261 262 263 264 268 269 270 272 273} 1}}
+ 4 {{17 259 1}}
+ 22 {{27 {0 259 261 262 263 264 268 269 270 272 273} 1}}
+ 5 {{16 259 1}}
+ 23 {{28 {0 259 261 262 263 264 268 269 270 272 273} 1}}
+ 20,trans {{257 31} {258 32} {274 36}}
+ 19,trans {{257 31} {258 32} {274 35}}
+ 6 {{15 {259 266 267} 1}}
+ 2,trans {{259 11} {266 4} {267 5} {279 12}}
+ 24 {{25 {0 259 261 262 263 264 268 269 270 272 273} 1}}
+ 38,trans {}
+ 7 {{0 0 1}}
+ 25 {{26 {0 259 261 262 263 264 268 269 270 272 273} 1}}
+ 8 {{3 0 1} {5 0 1} {4 259 0}}
+ 26 {{12 {0 259} 3} {18 {0 259 261 262 263 264 268 269 270 272 273} 1} {20 {0 259 261 262 263 264 268 269 270 272 273} 0} {21 {0 259 261 262 263 264 268 269 270 272 273} 0} {22 {0 259 261 262 263 264 268 269 270 272 273} 0} {23 {0 259 261 262 263 264 268 269 270 272 273} 0} {24 {0 259 261 262 263 264 268 269 270 272 273} 0} {25 {0 259 261 262 263 264 268 269 270 272 273} 0} {26 {0 259 261 262 263 264 268 269 270 272 273} 0} {27 {0 259 261 262 263 264 268 269 270 272 273} 0} {28 {0 259 261 262 263 264 268 269 270 272 273} 0}}
+ 9 {{7 {0 259} 1} {9 {0 259} 1} {16 259 0} {17 259 0}}
+ 27 {{19 {0 259 261 262 263 264 268 269 270 272 273} 1}}
+ 24,trans {{257 40}}
+ 6,trans {}
+ 28 {{11 {0 259} 3} {13 {0 259} 3} {18 {0 259 261 262 263 264 268 269 270 272 273} 0} {19 {0 259 261 262 263 264 268 269 270 272 273} 0} {20 {0 259 261 262 263 264 268 269 270 272 273} 0} {21 {0 259 261 262 263 264 268 269 270 272 273} 0} {22 {0 259 261 262 263 264 268 269 270 272 273} 0} {23 {0 259 261 262 263 264 268 269 270 272 273} 0} {24 {0 259 261 262 263 264 268 269 270 272 273} 0} {25 {0 259 261 262 263 264 268 269 270 272 273} 0} {26 {0 259 261 262 263 264 268 269 270 272 273} 0} {27 {0 259 261 262 263 264 268 269 270 272 273} 0} {28 {0 259 261 262 263 264 268 269 270 272 273} 0}}
+ 43,trans {{261 17} {262 18} {263 19} {264 20} {268 21} {269 22} {270 23} {272 24} {273 25} {281 42}}
+ 29 {{5 0 3}}
+ 30 {{9 {0 259} 3}}
+ 31 {{1 {0 259 261 262 263 264 268 269 270 272 273} 1}}
+ 32 {{2 {0 259 261 262 263 264 268 269 270 272 273} 1}}
+ 10,trans {{259 16}}
+ 28,trans {{261 17} {262 18} {263 19} {264 20} {268 21} {269 22} {270 23} {272 24} {273 25} {280 43} {281 27}}
+ 33 {{21 {0 259 261 262 263 264 268 269 270 272 273} 2}}
+ 34 {{22 {0 259 261 262 263 264 268 269 270 272 273} 2}}
}
array set movie::token_id_table {
+ 280,title {}
+ 279,title {}
264,line 18
270,t 0
269,t 0
- 276,line 47
+ 276,line 39
265,title FRAME
274,t 1
261,line 15
257,t 0
- 270,title SLFROM
- 269,title SLICE
- 273,line 36
+ 270,title REPEAT
+ 269,title OSCILLATE
+ 273,line 27
278,t 1
257,line 7
262,t 0
@@ -645,78 +780,92 @@ array set movie::token_id_table {
260,title 3D
266,t 0
278,title {}
+ 282,line 75
error error
271,t 0
264,title ELTO
266,line 20
- 278,line 61
+ 278,line 53
275,t 1
- error,line 31
- 268,title REPEAT
+ error,line 33
+ 268,title NUMBER
258,t 0
263,line 17
error,title {}
- 275,line 40
- 273,title {}
+ 280,t 1
+ 279,t 1
+ 275,line 38
+ 273,title SLTO
263,t 0
259,line 10
260,line 14
258,title float
277,title {}
- 272,line 32
+ 272,line 26
267,t 0
263,title ELFROM
- 272,t 1
+ 282,title {}
+ 272,t 0
268,line 22
- 267,title OSCILLATE
+ 267,title MPEG
257 INT_
+ 281,line 65
276,t 1
258 REAL_
259,t 0
259 STRING_
260 3D_
260,t 0
- 272,title {}
+ 272,title SLFROM
261 AZFROM_
265,line 19
262 AZTO_
+ 281,t 1
263 ELFROM_
- 277,line 51
+ 277,line 42
257,title integer
264 ELTO_
264,t 0
276,title {}
265 FRAME_
262,line 16
- 266 NUMBER_
- 267 OSCILLATE_
+ 266 GIF_
+ 267 MPEG_
0,t 0
0 {$}
262,title AZTO
- 268 REPEAT_
+ 268 NUMBER_
268,t 0
- 274,line 37
- 270 SLFROM_
- 269 SLICE_
+ 281,title {}
+ 274,line 34
+ 270 REPEAT_
+ 269 OSCILLATE_
error,t 0
- 271 SLTO_
- 272 numeric
+ 271 SLICE_
+ 272 SLFROM_
258,line 8
- 273,t 1
- 273 command
- 266,title NUMBER
- 274 @PSEUDO1
- 275 movie
+ 273,t 0
+ 273 SLTO_
+ 266,title GIF
+ 274 numeric
+ 275 command
271,line 25
- 276 opts
+ 276 @PSEUDO1
277,t 1
- 277 opt
- 271,title SLTO
- 278 start'
+ 277 movie
+ 271,title SLICE
+ 278 action
261,t 0
+ 280 opts
+ 279 type
+ 281 opt
267,line 21
+ 282,t 1
+ 282 start'
275,title {}
265,t 0
+ 280,line 61
+ 279,line 57
261,title AZFROM
}
@@ -817,20 +966,27 @@ proc movie::yyparse {} {
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 }
+ 6 { ProcessCmdSet2 movie action slice type mpeg; MovieCreate $1 }
+ 7 { ProcessCmdSet2 movie action $1 type mpeg; MovieCreate $2 }
+ 8 { ProcessCmdSet2 movie action slice type $1; MovieCreate $2 }
+ 9 { ProcessCmdSet2 movie action $1 type $2; MovieCreate $3 }
+ 10 { ProcessCmdSet2 movie action 3d type mpeg; MovieCreate $2 }
+ 11 { ProcessCmdSet2 movie action 3d type $2; MovieCreate $3 }
+ 12 { ProcessCmdSet2 movie action 3d type mpeg; MovieCreate $2 }
+ 13 { ProcessCmdSet2 movie action 3d type $1; MovieCreate $2 }
+ 14 { set _ frame }
+ 15 { set _ slice }
+ 16 { set _ mpeg }
+ 17 { set _ gif }
+ 20 { ProcessCmdSet movie number $2 }
+ 21 { ProcessCmdSet movie azfrom $2 }
+ 22 { ProcessCmdSet movie azto $2 }
+ 23 { ProcessCmdSet movie elfrom $2 }
+ 24 { ProcessCmdSet movie elto $2 }
+ 25 { ProcessCmdSet movie slfrom $2 }
+ 26 { ProcessCmdSet movie slto $2 }
+ 27 { ProcessCmdSet movie repeat oscillate; ProcessCmdSet movie repeat,num $2 }
+ 28 { ProcessCmdSet movie repeat repeat; ProcessCmdSet movie repeat,num $2 }
}
unsetupvalues $dc
# pop off tokens from the stack if normal rule