diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2018-06-18 18:17:21 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2018-06-18 18:17:21 (GMT) |
commit | 671eda8b795f09fa708fb36c5212c9b8c339eb83 (patch) | |
tree | 1584a4dc84f6cbebfed285a27e72fe077cc296f8 /ds9/parsers | |
parent | 212ccd4858884d2110f4ff07324e6315c9ce940b (diff) | |
download | blt-671eda8b795f09fa708fb36c5212c9b8c339eb83.zip blt-671eda8b795f09fa708fb36c5212c9b8c339eb83.tar.gz blt-671eda8b795f09fa708fb36c5212c9b8c339eb83.tar.bz2 |
add ds9 frame send parser
Diffstat (limited to 'ds9/parsers')
-rw-r--r-- | ds9/parsers/framesendlex.fcl | 40 | ||||
-rw-r--r-- | ds9/parsers/framesendparser.tac | 102 |
2 files changed, 142 insertions, 0 deletions
diff --git a/ds9/parsers/framesendlex.fcl b/ds9/parsers/framesendlex.fcl new file mode 100644 index 0000000..4fe5af3 --- /dev/null +++ b/ds9/parsers/framesendlex.fcl @@ -0,0 +1,40 @@ +#tab framesendparser.tab.tcl + +%{ +%} + +#include defs.fin + +%% + +active {return $ACTIVE_} +all {return $ALL_} +aux {return $AUX_} +bin {return $BIN_} +contour {return $CONTOUR_} +cube {return $CUBE_} +datamin {return $DATAMIN_} +datasec {return $DATASEC_} +equatorial {return $EQUATORIAL_} +fits {return $FITS_} +frameno {return $FRAMENO_} +grid {return $GRID_} +has {return $HAS_} +highlite {return $HIGHLITE_} +iis {return $IIS_} +irafmin {return $IRAFMIN_} +linear {return $LINEAR_} +lock {return $LOCK_} +marker {return $MARKER_} +mosaic {return $MOSAIC_} +paste {return $PASTE_} +select {return $SELECT_} +smooth {return $SMOOTH_} +system {return $SYSTEM_} +undo {return $UNDO_} + +#include coordsys.fin +#include wcssys.fin +#include ws.fin + +%% diff --git a/ds9/parsers/framesendparser.tac b/ds9/parsers/framesendparser.tac new file mode 100644 index 0000000..1efe865 --- /dev/null +++ b/ds9/parsers/framesendparser.tac @@ -0,0 +1,102 @@ +%{ +%} + +#include coordsys.tin +#include wcssys.tin + +%start framesend + +%token ACTIVE_ +%token ALL_ +%token AUX_ +%token BIN_ +%token CONTOUR_ +%token CUBE_ +%token DATAMIN_ +%token DATASEC_ +%token EQUATORIAL_ +%token FITS_ +%token FRAMENO_ +%token GRID_ +%token HAS_ +%token HIGHLITE_ +%token IIS_ +%token IRAFMIN_ +%token LINEAR_ +%token LOCK_ +%token MARKER_ +%token MOSAIC_ +%token PASTE_ +%token SELECT_ +%token SMOOTH_ +%token SYSTEM_ +%token UNDO_ + +%% + +#include coordsys.trl +#include wcssys.trl + +framesend : {FrameSendCmd} + | FRAMENO_ {FrameSendCmd} + | LOCK_ {ProcessSendCmdGet panzoom lock} + | ACTIVE_ {FrameSendCmdGet active} + | ALL_ {FrameSendCmdGet frames} + | HAS_ has + ; + +has : coordsys {ProcessSendCmdCurrentYesNo frame "has $1"} + | wcssys {ProcessSendCmdCurrentYesNo frame "has wcs $1"} + | param {ProcessSendCmdCurrentYesNo frame "has $1"} + | CONTOUR_ contour {ProcessSendCmdCurrentYesNo frame "has contour $2"} + | FITS_ fits {ProcessSendCmdCurrentYesNo frame "has fits $2"} + | MARKER_ marker {ProcessSendCmdCurrentYesNo frame "has marker $2"} + | SYSTEM_ system + | WCS_ wcs + ; + +param : IIS_ {set _ iis} + | DATAMIN_ {set _ datamin} + | IRAFMIN_ {set _ irafmin} + | DATASEC_ {set _ datasec} + | GRID_ {set _ grid} + | SMOOTH_ {set _ smooth} + ; + +contour : {set _ {}} + | AUX_ {set _ aux} + ; + +fits : {set _ {}} + | BIN_ {set _ bin} + | CUBE_ {set _ cube} + | MOSAIC_ {set _ mosaic} + ; + +marker : HIGHLITE_ {set _ highlite} + | PASTE_ {set _ paste} + | SELECT_ {set _ select} + | UNDO_ {set _ undo} + ; + +system : coordsys {ProcessSendCmdCurrentYesNo frame "has $1"} + | wcssys {ProcessSendCmdCurrentYesNo frame "has wcs $1"} + ; + +wcs : wcssys {ProcessSendCmdCurrentYesNo frame "has wcs $1"} + | wcstype wcssys {ProcessSendCmdCurrentYesNo frame "has wcs $1 $2"} + ; + +wcstype : EQUATORIAL_ {set _ equatorial} + | LINEAR_ {set _ linear} + ; + +%% + +proc framesend::yyerror {msg} { + variable yycnt + variable yy_current_buffer + variable index_ + + ParserError $msg $yycnt $yy_current_buffer $index_ +} |