diff options
Diffstat (limited to 'ds9/parsers/binparser.tcl')
-rw-r--r-- | ds9/parsers/binparser.tcl | 1209 |
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_ +} |