summaryrefslogtreecommitdiffstats
path: root/ds9/parsers/binparser.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'ds9/parsers/binparser.tcl')
-rw-r--r--ds9/parsers/binparser.tcl1209
1 files changed, 1209 insertions, 0 deletions
diff --git a/ds9/parsers/binparser.tcl b/ds9/parsers/binparser.tcl
new file mode 100644
index 0000000..3fa7168
--- /dev/null
+++ b/ds9/parsers/binparser.tcl
@@ -0,0 +1,1209 @@
+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 bin {
+ variable yylval {}
+ variable table
+ variable rules
+ variable token {}
+ variable yycnt 0
+ variable yyerr 0
+ variable save_state 0
+
+ namespace export yylex
+}
+
+proc bin::YYABORT {} {
+ return -code return 1
+}
+
+proc bin::YYACCEPT {} {
+ return -code return 0
+}
+
+proc bin::YYERROR {} {
+ variable yyerr
+ set yyerr 1
+}
+
+proc bin::yyclearin {} {
+ variable token
+ variable yycnt
+ set token {}
+ incr yycnt -1
+}
+
+proc bin::yyerror {s} {
+ puts stderr $s
+}
+
+proc bin::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 bin::unsetupvalues {numsyms} {
+ for {set i 1} {$i <= $numsyms} {incr i} {
+ upvar 1 $i y
+ unset y
+ }
+}
+
+array set bin::table {
+ 7:264,target 19
+ 34:265,target 22
+ 1:293 goto
+ 9:284 shift
+ 47:265 reduce
+ 31:y,target 28
+ 27:0 reduce
+ 48:0 reduce
+ 27:Y,target 30
+ 23:265,target 18
+ 17:265 reduce
+ 56:z,target 29
+ 56:265 shift
+ 2:263,target 23
+ 0:275,target 7
+ 6:263 shift
+ 9:296 goto
+ 33:z,target 29
+ 4:291,target 31
+ 12:265,target 15
+ 15:297,target 52
+ 57:265,target 39
+ 31:292,target 32
+ 25:z,target 33
+ 26:265 reduce
+ 24:0 reduce
+ 11:261,target 47
+ 48:0,target 7
+ 41:0,target 43
+ 30:Z,target 28
+ 29:Z,target 34
+ 45:0 reduce
+ 46:265,target 6
+ 25:0,target 33
+ 35:263 shift
+ 3:265,target 14
+ 17:0,target 10
+ 35:264 shift
+ 10:0,target 25
+ 35:265 reduce
+ 56:x,target 27
+ 0:273,target 5
+ 35:265,target 38
+ 33:x,target 27
+ 25:x,target 33
+ 17:289 goto
+ 31:X shift
+ 11:258,target 44
+ 44:265 reduce
+ 31:Y shift
+ 42:0 reduce
+ 31:Z shift
+ 30:X,target 28
+ 29:X,target 34
+ 24:265,target 31
+ 56:291 goto
+ 56:292 goto
+ 5:Y,target 25
+ 14:265 reduce
+ 5:291,target 33
+ 13:265,target 13
+ 53:265 shift
+ 27:y,target 30
+ 0:271,target 3
+ 5:X shift
+ 35:263,target 18
+ 5:Y shift
+ 5:Z shift
+ 3:265 reduce
+ 17:0 reduce
+ 18:264,target 8
+ 35:287 goto
+ 32:Y,target 29
+ 27:X reduce
+ 27:Y reduce
+ 24:Y,target 31
+ 23:265 reduce
+ 47:265,target 4
+ 38:0 reduce
+ 27:Z reduce
+ 4:265,target 30
+ 59:0 reduce
+ 0:290,target 17
+ 3:0,target 14
+ 30:z,target 28
+ 29:z,target 34
+ 36:265,target 21
+ 32:265 reduce
+ 0:268,target 2
+ 45:0,target 3
+ 37:0,target 41
+ 26:Z,target 35
+ 14:0 reduce
+ 30:0,target 28
+ 29:0,target 34
+ 24:X reduce
+ 25:265,target 33
+ 24:Y reduce
+ 22:0,target 17
+ 35:0 reduce
+ 24:Z reduce
+ 11:257 shift
+ 14:0,target 26
+ 11:258 shift
+ 41:265 reduce
+ 11:259 shift
+ 11:260 shift
+ 11:261 shift
+ 31:x shift
+ 11:262 shift
+ 31:y shift
+ 14:265,target 26
+ 59:265,target 20
+ 33:292,target 32
+ 31:z shift
+ 30:x,target 28
+ 29:x,target 34
+ 11:265 reduce
+ 0:266,target 1
+ 5:y,target 28
+ 19:264,target 9
+ 50:265 reduce
+ 49:265 reduce
+ 11:0 reduce
+ 26:X,target 35
+ 48:265,target 7
+ 32:0 reduce
+ 5:265,target 30
+ 5:x shift
+ 19:263 reduce
+ 0:266 shift
+ 5:y shift
+ 19:264 reduce
+ 5:z shift
+ 19:265 reduce
+ 20:265 reduce
+ 21:287,target 54
+ 0:268 shift
+ 32:y,target 29
+ 27:x reduce
+ 37:265,target 41
+ 27:y reduce
+ 24:y,target 31
+ 0:285,target 15
+ 0:271 shift
+ 56:292,target 32
+ 27:z reduce
+ 0:272 shift
+ 0:273 shift
+ 0:274 shift
+ 8:265 shift
+ 28:Y,target 32
+ 0:275 shift
+ 28:265 reduce
+ 0:276 shift
+ 26:265,target 35
+ 0:278 shift
+ 4:Z,target 26
+ 8:270 shift
+ 28:0 reduce
+ 0:279 shift
+ 0:280 shift
+ 11:286 goto
+ 0:281 shift
+ 8:295,target 39
+ 0:282 shift
+ 50:0 reduce
+ 49:0 reduce
+ 26:z,target 35
+ 1:287,target 21
+ 0:283 shift
+ 24:x reduce
+ 57:0,target 39
+ 37:265 reduce
+ 24:y reduce
+ 0:285 shift
+ 50:0,target 45
+ 49:0,target 16
+ 24:z reduce
+ 0:283,target 14
+ 42:0,target 24
+ 31:Z,target 26
+ 34:0,target 22
+ 0:288 goto
+ 21:264,target 19
+ 26:0,target 35
+ 3:0 reduce
+ 0:290 goto
+ 18:0,target 8
+ 50:265,target 45
+ 49:265,target 16
+ 11:0,target 1
+ 46:265 reduce
+ 25:0 reduce
+ 4:X,target 24
+ 46:0 reduce
+ 56:X shift
+ 38:265,target 40
+ 26:x,target 35
+ 56:Y shift
+ 15:263,target 18
+ 56:Z shift
+ 0:281,target 12
+ 55:265 reduce
+ 31:X,target 24
+ 1:264,target 19
+ 8:295 goto
+ 27:265,target 30
+ 5:265 shift
+ 25:265 reduce
+ 6:263,target 34
+ 22:0 reduce
+ 32:X reduce
+ 32:Y reduce
+ 28:y,target 32
+ 56:Y,target 25
+ 43:0 reduce
+ 32:Z reduce
+ 4:z,target 29
+ 33:Y,target 25
+ 25:Y,target 33
+ 34:265 reduce
+ 0:278,target 9
+ 8:270,target 38
+ 51:265,target 44
+ 31:z,target 29
+ 18:0 reduce
+ 28:X reduce
+ 28:Y reduce
+ 54:0,target 36
+ 43:265 reduce
+ 40:265,target 42
+ 40:0 reduce
+ 39:265,target 23
+ 39:0 reduce
+ 28:Z reduce
+ 46:0,target 6
+ 38:0,target 40
+ 27:Z,target 30
+ 4:x,target 27
+ 23:0,target 18
+ 5:291 goto
+ 13:265 reduce
+ 28:265,target 32
+ 0:276,target 8
+ 5:292 goto
+ 56:x shift
+ 56:y shift
+ 52:265 reduce
+ 4:292,target 32
+ 56:z shift
+ 2:263 shift
+ 7:263,target 18
+ 31:x,target 27
+ 25:X reduce
+ 11:262,target 48
+ 25:Y reduce
+ 17:265,target 11
+ 36:0 reduce
+ 25:Z reduce
+ 15:277,target 50
+ 22:265 reduce
+ 57:0 reduce
+ 35:287,target 57
+ 27:X,target 30
+ 32:x reduce
+ 32:y reduce
+ 56:y,target 28
+ 52:265,target 27
+ 32:z reduce
+ 0:274,target 6
+ 8:265,target 37
+ 31:265 shift
+ 33:y,target 28
+ 31:291,target 55
+ 25:y,target 33
+ 12:0 reduce
+ 41:265,target 43
+ 11:259,target 45
+ 11:260,target 46
+ 30:Y,target 28
+ 29:Y,target 34
+ 54:0 reduce
+ 40:265 reduce
+ 39:265 reduce
+ 28:x reduce
+ 5:Z,target 26
+ 30:265,target 28
+ 29:265,target 34
+ 28:y reduce
+ 9:267,target 40
+ 28:z reduce
+ 5:292,target 32
+ 27:z,target 30
+ 0:272,target 4
+ 10:265 reduce
+ 35:264,target 19
+ 58:0,target 12
+ 15:294,target 51
+ 51:0,target 44
+ 48:265 reduce
+ 18:265,target 8
+ 43:0,target 2
+ 32:Z,target 29
+ 35:0,target 38
+ 30:0 reduce
+ 29:0 reduce
+ 24:Z,target 31
+ 11:257,target 43
+ 27:0,target 30
+ 18:263 reduce
+ 18:264 reduce
+ 19:0,target 9
+ 20:0,target 37
+ 51:0 reduce
+ 12:0,target 15
+ 18:265 reduce
+ 25:x reduce
+ 53:265,target 58
+ 31:291 goto
+ 25:y reduce
+ 5:X,target 24
+ 57:265 reduce
+ 31:292 goto
+ 25:z reduce
+ 7:263 shift
+ 7:264 shift
+ 27:x,target 30
+ 42:265,target 24
+ 27:265 reduce
+ 18:263,target 8
+ 32:X,target 29
+ 26:0 reduce
+ 24:X,target 31
+ 1:293,target 22
+ 9:284,target 41
+ 47:0 reduce
+ 31:265,target 30
+ 0:288,target 16
+ 36:265 reduce
+ 30:y,target 28
+ 29:y,target 34
+ 5:z,target 29
+ 19:265,target 9
+ 20:265,target 37
+ 26:Y,target 35
+ 23:0 reduce
+ 45:265 reduce
+ 33:X shift
+ 33:Y shift
+ 44:0 reduce
+ 33:Z shift
+ 7:287 goto
+ 54:265,target 36
+ 7:294,target 36
+ 15:263 shift
+ 32:z,target 29
+ 15:264 shift
+ 24:z,target 31
+ 55:0,target 19
+ 33:291,target 56
+ 1:269,target 20
+ 54:265 reduce
+ 47:0,target 4
+ 7:294 goto
+ 43:265,target 2
+ 40:0,target 42
+ 39:0,target 23
+ 28:Z,target 32
+ 32:0,target 29
+ 5:x,target 27
+ 19:263,target 9
+ 24:0,target 31
+ 4:265 shift
+ 15:287,target 35
+ 16:0,target 0
+ 19:0 reduce
+ 20:0 reduce
+ 30:X reduce
+ 29:X reduce
+ 24:265 reduce
+ 30:Y reduce
+ 29:Y reduce
+ 41:0 reduce
+ 32:265,target 29
+ 30:Z reduce
+ 29:Z reduce
+ 15:277 shift
+ 32:x,target 29
+ 24:x,target 31
+ 56:291,target 59
+ 33:265 shift
+ 4:X shift
+ 28:X,target 32
+ 4:Y shift
+ 4:Z shift
+ 15:287 goto
+ 16:0 accept
+ 26:X reduce
+ 4:Y,target 25
+ 26:Y reduce
+ 10:265,target 25
+ 55:265,target 19
+ 37:0 reduce
+ 26:Z reduce
+ 42:265 reduce
+ 26:y,target 35
+ 58:0 reduce
+ 15:294 goto
+ 15:264,target 19
+ 33:x shift
+ 33:y shift
+ 0:282,target 13
+ 44:265,target 5
+ 33:z shift
+ 31:Y,target 25
+ 4:291 goto
+ 12:265 reduce
+ 15:297 goto
+ 4:292 goto
+ 21:263,target 18
+ 51:265 reduce
+ 1:263 shift
+ 13:0 reduce
+ 1:264 shift
+ 9:296,target 42
+ 33:265,target 30
+ 21:263 shift
+ 34:0 reduce
+ 28:z,target 32
+ 21:264 shift
+ 56:Z,target 26
+ 59:0,target 20
+ 55:0 reduce
+ 52:0,target 27
+ 33:291 goto
+ 1:269 shift
+ 59:265 reduce
+ 44:0,target 5
+ 33:Z,target 26
+ 33:292 goto
+ 30:x reduce
+ 29:x reduce
+ 7:287,target 35
+ 36:0,target 21
+ 30:y reduce
+ 29:y reduce
+ 25:Z,target 33
+ 22:265,target 17
+ 30:z reduce
+ 29:z reduce
+ 28:0,target 32
+ 0:279,target 10
+ 0:280,target 11
+ 11:286,target 49
+ 17:289,target 53
+ 1:263,target 18
+ 13:0,target 13
+ 30:265 reduce
+ 29:265 reduce
+ 9:267 shift
+ 10:0 reduce
+ 11:265,target 1
+ 56:265,target 30
+ 4:x shift
+ 28:x,target 32
+ 4:y shift
+ 56:X,target 24
+ 4:z shift
+ 52:0 reduce
+ 38:265 reduce
+ 26:x reduce
+ 4:y,target 28
+ 45:265,target 3
+ 33:X,target 24
+ 26:y reduce
+ 26:z reduce
+ 25:X,target 33
+ 1:287 goto
+ 21:287 goto
+}
+
+array set bin::rules {
+ 9,l 287
+ 11,l 289
+ 32,l 292
+ 6,l 286
+ 28,l 291
+ 3,l 286
+ 25,l 290
+ 0,l 298
+ 22,l 290
+ 43,l 296
+ 18,l 290
+ 40,l 295
+ 39,l 294
+ 15,l 290
+ 36,l 293
+ 12,l 288
+ 33,l 292
+ 7,l 286
+ 29,l 291
+ 30,l 292
+ 4,l 286
+ 26,l 290
+ 1,l 286
+ 23,l 290
+ 44,l 297
+ 19,l 290
+ 20,l 290
+ 41,l 295
+ 16,l 290
+ 37,l 293
+ 13,l 290
+ 34,l 292
+ 8,l 287
+ 10,l 288
+ 31,l 292
+ 5,l 286
+ 27,l 290
+ 2,l 286
+ 24,l 290
+ 45,l 297
+ 21,l 290
+ 42,l 296
+ 17,l 290
+ 38,l 294
+ 14,l 290
+ 35,l 292
+}
+
+array set bin::rules {
+ 12,dc 3
+ 26,dc 1
+ 3,dc 1
+ 41,dc 1
+ 18,dc 2
+ 33,dc 1
+ 9,dc 1
+ 11,dc 0
+ 25,dc 1
+ 2,dc 1
+ 40,dc 1
+ 39,dc 2
+ 17,dc 2
+ 32,dc 1
+ 8,dc 1
+ 10,dc 1
+ 24,dc 2
+ 1,dc 0
+ 38,dc 1
+ 16,dc 2
+ 31,dc 1
+ 7,dc 1
+ 45,dc 1
+ 23,dc 2
+ 0,dc 1
+ 37,dc 1
+ 15,dc 1
+ 29,dc 1
+ 30,dc 1
+ 6,dc 1
+ 44,dc 1
+ 22,dc 2
+ 36,dc 2
+ 14,dc 1
+ 28,dc 1
+ 5,dc 1
+ 43,dc 1
+ 21,dc 2
+ 35,dc 1
+ 13,dc 1
+ 27,dc 2
+ 4,dc 1
+ 42,dc 1
+ 19,dc 3
+ 20,dc 4
+ 34,dc 1
+}
+
+array set bin::rules {
+ 41,line 110
+ 7,line 62
+ 37,line 102
+ 4,line 59
+ 34,line 97
+ 1,line 56
+ 31,line 94
+ 27,line 86
+ 24,line 83
+ 21,line 80
+ 17,line 76
+ 14,line 73
+ 11,line 68
+ 43,line 114
+ 9,line 65
+ 40,line 109
+ 39,line 106
+ 6,line 61
+ 36,line 101
+ 3,line 58
+ 33,line 96
+ 29,line 90
+ 30,line 93
+ 26,line 85
+ 23,line 82
+ 19,line 78
+ 20,line 79
+ 16,line 75
+ 13,line 72
+ 10,line 68
+ 45,line 118
+ 42,line 113
+ 8,line 64
+ 38,line 105
+ 5,line 60
+ 35,line 98
+ 2,line 57
+ 32,line 95
+ 28,line 89
+ 25,line 84
+ 22,line 81
+ 18,line 77
+ 15,line 74
+ 12,line 69
+ 11,e 1
+ 44,line 117
+}
+
+array set bin::lr1_table {
+ 66,trans {}
+ 35 {{8 {0 263 264 265} 1}}
+ 14,trans {}
+ 36 {{9 {0 263 264 265} 1}}
+ 33,trans {{X 24} {Y 25} {Z 26} {x 27} {y 28} {z 29} {265 30} {291 68} {292 32}}
+ 37 {{38 {0 265} 1} {39 {0 265} 1} {8 {0 265} 0} {9 {0 265} 0}}
+ 52,trans {}
+ 38 {{21 {0 265} 2}}
+ 71,trans {}
+ 40 {{40 {0 265} 1}}
+ 39 {{41 {0 265} 1}}
+ 18,trans {}
+ 41 {{23 {0 265} 2}}
+ 1,trans {{263 18} {264 19} {269 20} {287 21} {293 22}}
+ 37,trans {{263 56} {264 57} {287 69}}
+ 42 {{42 {0 265} 1}}
+ 56,trans {}
+ 43 {{43 {0 265} 1}}
+ 44 {{24 {0 265} 2}}
+ 23,trans {}
+ 45 {{2 {0 265} 1}}
+ 5,trans {{X 24} {Y 25} {Z 26} {x 27} {y 28} {z 29} {265 30} {291 33} {292 32}}
+ 42,trans {}
+ 46 {{5 {0 265} 1}}
+ 61,trans {}
+ 47 {{3 {0 265} 1}}
+ 48 {{6 {0 265} 1}}
+ 27,trans {}
+ 50 {{7 {0 265} 1}}
+ 49 {{4 {0 265} 1}}
+ 9,trans {{267 42} {284 43} {296 44}}
+ 46,trans {}
+ 51 {{16 {0 265} 2}}
+ 65,trans {}
+ 52 {{45 {0 265} 1}}
+ 53 {{44 {0 265} 1}}
+ 13,trans {}
+ 32,trans {}
+ 54 {{27 {0 265} 2}}
+ 51,trans {}
+ 55 {{12 0 2}}
+ 70,trans {}
+ 69,trans {}
+ 56 {{8 {0 265} 1}}
+ 57 {{9 {0 265} 1}}
+ 17,trans {{289 55}}
+ 0,trans {{266 1} {268 2} {271 3} {272 4} {273 5} {274 6} {275 7} {276 8} {278 9} {279 10} {280 11} {281 12} {282 13} {283 14} {285 15} {288 16} {290 17}}
+ 36,trans {}
+ 58 {{36 {0 265} 2}}
+ 55,trans {{265 70}}
+ 60 {{33 {0 265} 1}}
+ 59 {{31 {0 265} 1}}
+ 61 {{35 {0 265} 1}}
+ 62 {{30 {0 265} 1}}
+ 22,trans {}
+ 4,trans {{X 24} {Y 25} {Z 26} {x 27} {y 28} {z 29} {265 30} {291 31} {292 32}}
+ 41,trans {}
+ 63 {{32 {0 265} 1}}
+ 60,trans {}
+ 59,trans {}
+ 64 {{34 {0 265} 1}}
+ 65 {{28 {0 265} 1}}
+ 66 {{19 {0 265} 3}}
+ 26,trans {}
+ 8,trans {{265 39} {270 40} {295 41}}
+ 45,trans {}
+ 67 {{29 {0 265} 1}}
+ 64,trans {}
+ 68 {{20 {0 265} 3} {28 {0 265} 0} {29 {0 265} 0} {30 {0 265} 0} {31 {0 265} 0} {32 {0 265} 0} {33 {0 265} 0} {34 {0 265} 0} {35 {0 265} 0}}
+ 70 {{12 0 3}}
+ 69 {{39 {0 265} 2}}
+ 12,trans {}
+ 71 {{20 {0 265} 4}}
+ 31,trans {{X 59} {Y 60} {Z 61} {x 62} {y 63} {z 64} {265 65} {291 66} {292 67}}
+ 50,trans {}
+ 49,trans {}
+ 68,trans {{X 59} {Y 60} {Z 61} {x 62} {y 63} {z 64} {265 65} {291 71} {292 67}}
+ 16,trans {}
+ 35,trans {}
+ 54,trans {}
+ 21,trans {{263 56} {264 57} {287 58}}
+ 3,trans {}
+ 40,trans {}
+ 39,trans {}
+ 58,trans {}
+ 10 {{25 {0 265} 1}}
+ 11 {{16 {0 265} 1} {1 {0 265} 0} {2 {0 265} 0} {3 {0 265} 0} {4 {0 265} 0} {5 {0 265} 0} {6 {0 265} 0} {7 {0 265} 0}}
+ 25,trans {}
+ 12 {{15 {0 265} 1}}
+ 7,trans {{263 35} {264 36} {287 37} {294 38}}
+ 44,trans {}
+ 13 {{13 {0 265} 1}}
+ 63,trans {}
+ 14 {{26 {0 265} 1}}
+ 11,trans {{257 45} {258 46} {259 47} {260 48} {261 49} {262 50} {286 51}}
+ 15 {{27 {0 265} 1} {44 {0 265} 0} {45 {0 265} 0} {38 {0 265} 0} {39 {0 265} 0} {8 {0 263 264 265} 0} {9 {0 263 264 265} 0}}
+ 30,trans {}
+ 29,trans {}
+ 16 {{0 0 1}}
+ 48,trans {}
+ 0 {{0 0 0} {10 0 0} {12 0 0} {13 {0 265} 0} {14 {0 265} 0} {15 {0 265} 0} {16 {0 265} 0} {17 {0 265} 0} {18 {0 265} 0} {19 {0 265} 0} {20 {0 265} 0} {21 {0 265} 0} {22 {0 265} 0} {23 {0 265} 0} {24 {0 265} 0} {25 {0 265} 0} {26 {0 265} 0} {27 {0 265} 0}}
+ 17 {{10 0 1} {12 0 1} {11 265 0}}
+ 67,trans {}
+ 1 {{17 {0 265} 1} {36 {0 265} 0} {37 {0 265} 0} {8 {263 264} 0} {9 {263 264} 0}}
+ 18 {{8 {263 264} 1}}
+ 15,trans {{263 35} {264 36} {277 52} {287 37} {294 53} {297 54}}
+ 2 {{18 {0 265} 1}}
+ 19 {{9 {263 264} 1}}
+ 20 {{37 {0 265} 1}}
+ 34,trans {}
+ 3 {{14 {0 265} 1}}
+ 21 {{36 {0 265} 1} {8 {0 265} 0} {9 {0 265} 0}}
+ 53,trans {}
+ 4 {{19 {0 265} 1} {28 {265 X Y Z x y z} 0} {29 {265 X Y Z x y z} 0} {30 {265 X Y Z x y z} 0} {31 {265 X Y Z x y z} 0} {32 {265 X Y Z x y z} 0} {33 {265 X Y Z x y z} 0} {34 {265 X Y Z x y z} 0} {35 {265 X Y Z x y z} 0}}
+ 22 {{17 {0 265} 2}}
+ 5 {{20 {0 265} 1} {28 {265 X Y Z x y z} 0} {29 {265 X Y Z x y z} 0} {30 {265 X Y Z x y z} 0} {31 {265 X Y Z x y z} 0} {32 {265 X Y Z x y z} 0} {33 {265 X Y Z x y z} 0} {34 {265 X Y Z x y z} 0} {35 {265 X Y Z x y z} 0}}
+ 23 {{18 {0 265} 2}}
+ 20,trans {}
+ 19,trans {}
+ 6 {{22 {0 265} 1}}
+ 2,trans {{263 23}}
+ 24 {{31 {265 X Y Z x y z} 1}}
+ 38,trans {}
+ 7 {{21 {0 265} 1} {38 {0 265} 0} {39 {0 265} 0} {8 {0 263 264 265} 0} {9 {0 263 264 265} 0}}
+ 25 {{33 {265 X Y Z x y z} 1}}
+ 57,trans {}
+ 8 {{23 {0 265} 1} {40 {0 265} 0} {41 {0 265} 0}}
+ 26 {{35 {265 X Y Z x y z} 1}}
+ 9 {{24 {0 265} 1} {42 {0 265} 0} {43 {0 265} 0}}
+ 27 {{30 {265 X Y Z x y z} 1}}
+ 24,trans {}
+ 28 {{32 {265 X Y Z x y z} 1}}
+ 6,trans {{263 34}}
+ 43,trans {}
+ 29 {{34 {265 X Y Z x y z} 1}}
+ 30 {{28 {265 X Y Z x y z} 1}}
+ 62,trans {}
+ 31 {{19 {0 265} 2} {28 {0 265} 0} {29 {0 265} 0} {30 {0 265} 0} {31 {0 265} 0} {32 {0 265} 0} {33 {0 265} 0} {34 {0 265} 0} {35 {0 265} 0}}
+ 10,trans {}
+ 32 {{29 {265 X Y Z x y z} 1}}
+ 28,trans {}
+ 33 {{20 {0 265} 2} {28 {265 X Y Z x y z} 0} {29 {265 X Y Z x y z} 0} {30 {265 X Y Z x y z} 0} {31 {265 X Y Z x y z} 0} {32 {265 X Y Z x y z} 0} {33 {265 X Y Z x y z} 0} {34 {265 X Y Z x y z} 0} {35 {265 X Y Z x y z} 0}}
+ 47,trans {}
+ 34 {{22 {0 265} 2}}
+}
+
+array set bin::token_id_table {
+ 286 yesno
+ 286,t 1
+ 287 numeric
+ 292,line 92
+ 288 command
+ 265,title string
+ 289 @PSEUDO1
+ 290 bin
+ 284,title SUM
+ 291 cols
+ 292 colsxyz
+ 288,line 67
+ 293 about
+ 294 factor
+ 295 filter
+ 296 function
+ 262,t 0
+ 297 to
+ 298 start'
+ 285,line 40
+ 283,t 0
+ 282,line 37
+ 264,title float
+ 283,title OUT
+ 278,line 33
+ error,line 54
+ 258,t 0
+ 275,line 30
+ 279,t 0
+ 280,t 0
+ Z,line 97
+ 272,line 27
+ 263,title integer
+ 282,title OPEN
+ 268,line 23
+ 276,t 0
+ 265,line 17
+ Y,t 0
+ 297,t 1
+ 262,line 12
+ 262,title FALSE
+ 0 {$}
+ 0,t 0
+ 281,title MATCH
+ error,t 0
+ 258,line 8
+ 273,t 0
+ 294,t 1
+ z,line 96
+ 261,title TRUE
+ 279,title IN
+ 280,title LOCK
+ 298,title {}
+ 269,t 0
+ 270,t 0
+ 291,t 1
+ y,t 0
+ 297,line 116
+ 266,t 0
+ 260,title OFF
+ 259,title ON
+ 278,title FUNCTION
+ 297,title {}
+ 287,t 1
+ 294,line 104
+ error,title {}
+ 291,line 88
+ X X
+ Y Y
+ Z Z
+ 263,t 0
+ 258,title NO
+ 287,line 63
+ 277,title FIT
+ 284,t 0
+ 296,title {}
+ 284,line 39
+ 281,line 36
+ 260,t 0
+ 259,t 0
+ 281,t 0
+ 257,title YES
+ 277,line 32
+ 276,title FILTER
+ 295,title {}
+ 274,line 29
+ Y,line 95
+ 271,line 26
+ 277,t 0
+ x x
+ y y
+ z z
+ Z,t 0
+ 298,t 1
+ 267,line 22
+ 275,title FACTOR
+ 294,title {}
+ 264,line 15
+ 261,line 11
+ 274,t 0
+ 295,t 1
+ 257,line 7
+ 274,title DEPTH
+ 293,title {}
+ 271,t 0
+ error error
+ 292,t 1
+ y,line 94
+ 273,title COLSZ
+ z,t 0
+ 292,title {}
+ 267,t 0
+ Z,title {}
+ 288,t 1
+ 296,line 112
+ 272,title COLS
+ 291,title {}
+ 293,line 100
+ 264,t 0
+ 285,t 0
+ 289,line 68
+ 290,line 71
+ Y,title {}
+ 286,line 55
+ 271,title CLOSE
+ 261,t 0
+ 283,line 38
+ 289,title {}
+ 290,title {}
+ 282,t 0
+ 279,line 34
+ 280,line 35
+ X,title {}
+ z,title {}
+ 276,line 31
+ 257,t 0
+ 269,title CENTER
+ 270,title CLEAR
+ 273,line 28
+ 288,title {}
+ 278,t 0
+ X,line 93
+ 269,line 24
+ 270,line 25
+ y,title {}
+ 266,line 21
+ 268,title BUFFERSIZE
+ 275,t 0
+ 263,line 14
+ 287,title {}
+ X,t 0
+ 296,t 1
+ 260,line 10
+ 259,line 9
+ x,title {}
+ 272,t 0
+ 267,title AVERAGE
+ 257 YES_
+ 286,title {}
+ 293,t 1
+ 258 NO_
+ 260 OFF_
+ 259 ON_
+ 261 TRUE_
+ 262 FALSE_
+ 263 INT_
+ 264 REAL_
+ x,line 92
+ 265 STRING_
+ 266 ABOUT_
+ 267 AVERAGE_
+ 268,t 0
+ 268 BUFFERSIZE_
+ 269 CENTER_
+ 270 CLEAR_
+ 271 CLOSE_
+ 272 COLS_
+ 289,t 1
+ 290,t 1
+ 266,title ABOUT
+ 273 COLSZ_
+ 274 DEPTH_
+ 285,title TO
+ 275 FACTOR_
+ 298,line 119
+ 276 FILTER_
+ 277 FIT_
+ x,t 0
+ 278 FUNCTION_
+ 279 IN_
+ 280 LOCK_
+ 281 MATCH_
+ 282 OPEN_
+ 295,line 108
+ 265,t 0
+ 283 OUT_
+ 284 SUM_
+ 285 TO_
+}
+
+proc bin::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 _ $1 }
+ 9 { set _ $1 }
+ 11 { global ds9; if {!$ds9(init)} {YYERROR} else {yyclearin; YYACCEPT} }
+ 13 { BinDialog }
+ 14 { BinDestroyDialog }
+ 15 { MatchBinCurrent }
+ 16 { ProcessCmdSet bin lock $2 LockBinCurrent }
+ 18 { ProcessCmdSet bin buffersize $2 ChangeBinBufferSize }
+ 19 { BinCols \"$2\" \"$3\" \"\" }
+ 20 { BinCols \"$2\" \"$3\" \"$4\" }
+ 22 { ProcessCmdSet bin depth $2 ChangeBinDepth }
+ 23 { BinFilter $2 }
+ 24 { ProcessCmdSet bin function $2 ChangeBinFunction }
+ 25 { Bin .5 .5 }
+ 26 { Bin 2 2 }
+ 28 { set _ $1 }
+ 29 { set _ $1 }
+ 30 { set _ $1 }
+ 31 { set _ $1 }
+ 32 { set _ $1 }
+ 33 { set _ $1 }
+ 34 { set _ $1 }
+ 35 { set _ $1 }
+ 36 { BinAbout $1 $2 }
+ 37 { BinAboutCenter }
+ 38 { ProcessCmdSet bin factor "$1 $1" ChangeBinFactor }
+ 39 { ProcessCmdSet bin factor "$1 $2" ChangeBinFactor }
+ 40 { set _ {} }
+ 41 { set _ $1 }
+ 42 { set _ average }
+ 43 { set _ sum }
+ 45 { BinToFit }
+ }
+ 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 bin::yyerror {msg} {
+ variable yycnt
+ variable yy_current_buffer
+ variable index_
+
+ ParserError $msg $yycnt $yy_current_buffer $index_
+}