summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2018-03-02 22:23:26 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2018-03-02 22:23:26 (GMT)
commit381f8d4cfea15575cc399292d658b7fec181d3e8 (patch)
tree5a1f4d3ce21e528df75817d6394fcedd712c1b08
parentf4a302585608ea738769a5ea3b83577723989a2a (diff)
downloadblt-381f8d4cfea15575cc399292d658b7fec181d3e8.zip
blt-381f8d4cfea15575cc399292d658b7fec181d3e8.tar.gz
blt-381f8d4cfea15575cc399292d658b7fec181d3e8.tar.bz2
add ds9 parsers
-rw-r--r--ds9/library/panzoom.tcl9
-rw-r--r--ds9/parsers/panparser.tac9
-rw-r--r--ds9/parsers/zoomparser.tac15
3 files changed, 18 insertions, 15 deletions
diff --git a/ds9/library/panzoom.tcl b/ds9/library/panzoom.tcl
index 1a1d84b..e152a6b 100644
--- a/ds9/library/panzoom.tcl
+++ b/ds9/library/panzoom.tcl
@@ -741,15 +741,16 @@ proc ProcessSendPanCmd {proc id param} {
proc ProcessZoomCmd {varname iname} {
upvar $varname var
- upvar $iname i
+ upvar $iname ii
# we need to be realized
ProcessRealizeDS9
zoom::YY_FLUSH_BUFFER
- zoom::yy_scan_string [lrange $var $i end]
- zoom::yyparse
- incr i [expr $zoom::yycnt-1]
+ zoom::yy_scan_string [lrange $var $ii end]
+ set rr [zoom::yyparse]
+ incr ii [expr $zoom::yycnt-1]
+ return $rr
}
proc oProcessZoomCmd {varname iname} {
diff --git a/ds9/parsers/panparser.tac b/ds9/parsers/panparser.tac
index 3fe0106..2e208a5 100644
--- a/ds9/parsers/panparser.tac
+++ b/ds9/parsers/panparser.tac
@@ -56,7 +56,7 @@
%%
command : pan
-| pan {pan::yyclearin; YYACCEPT} STRING_
+| pan {yyclearin; YYACCEPT} STRING_
;
numeric : INT_ {set _ $1}
@@ -150,7 +150,8 @@ panto : numeric numeric {PanTo $1 $2 physical fk5}
%%
proc pan::yyerror {msg} {
- puts stderr "$pan::yy_current_buffer"
- puts stderr [format "%*s" $pan::index_ ^]
- puts stderr "$msg"
+ variable yycnt
+ variable yy_current_buffer
+
+ Error "$msg: [lindex $yy_current_buffer [expr $yycnt-1]]"
}
diff --git a/ds9/parsers/zoomparser.tac b/ds9/parsers/zoomparser.tac
index 4a342c6..1e2969e 100644
--- a/ds9/parsers/zoomparser.tac
+++ b/ds9/parsers/zoomparser.tac
@@ -17,20 +17,20 @@
%%
command : zoom
- | zoom {zoom::yyclearin; YYACCEPT} STRING_
+ | zoom {yyclearin; YYACCEPT} STRING_
;
numeric : INT_ {set _ $1}
| REAL_ {set _ $1}
;
-zoom : numeric {Zoom $1 $1}
- | numeric numeric {Zoom $1 $2}
- | OPEN_ {PanZoomDialog}
+zoom : OPEN_ {PanZoomDialog}
| CLOSE_ {PanZoomDestroyDialog}
| IN_ {Zoom 2 2}
| OUT_ {Zoom .5 .5}
| TO_ zoomTo
+ | numeric {Zoom $1 $1}
+ | numeric numeric {Zoom $1 $2}
;
zoomTo: FIT_ {ZoomToFit}
@@ -41,7 +41,8 @@ zoomTo: FIT_ {ZoomToFit}
%%
proc zoom::yyerror {msg} {
- puts stderr "$zoom::yy_current_buffer"
- puts stderr [format "%*s" $zoom::index_ ^]
- puts stderr "$msg:"
+ variable yycnt
+ variable yy_current_buffer
+
+ Error "$msg: [lindex yy_current_buffer [expr $yycnt-1]]"
}