summaryrefslogtreecommitdiffstats
path: root/ds9/parsers/shmparser.tac
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2018-05-16 18:17:06 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2018-05-16 18:17:06 (GMT)
commit290312bc296c888fb080aa2bed0e4d8116aafc34 (patch)
tree6019d8c14a00fa5db776fd5ac703b0f73680d3d8 /ds9/parsers/shmparser.tac
parent212a5a2635286012d36b32f1e5cce0de95c2a4d4 (diff)
downloadblt-290312bc296c888fb080aa2bed0e4d8116aafc34.zip
blt-290312bc296c888fb080aa2bed0e4d8116aafc34.tar.gz
blt-290312bc296c888fb080aa2bed0e4d8116aafc34.tar.bz2
add ds9 shm parser
Diffstat (limited to 'ds9/parsers/shmparser.tac')
-rw-r--r--ds9/parsers/shmparser.tac93
1 files changed, 93 insertions, 0 deletions
diff --git a/ds9/parsers/shmparser.tac b/ds9/parsers/shmparser.tac
new file mode 100644
index 0000000..47a3efc
--- /dev/null
+++ b/ds9/parsers/shmparser.tac
@@ -0,0 +1,93 @@
+%{
+%}
+
+#include coords.tin
+#include numeric.tin
+#include string.tin
+
+%start command
+
+%token KEY_
+%token SHMID_
+
+%token ARRAY_
+%token FITS_
+%token SFITS_
+%token MOSAIC_
+%token MOSAICWCS_
+%token MOSAICIRAF_
+%token SMOSAIC_
+%token MOSAICIMAGE_
+%token MOSAICIMAGEWCS_
+%token MOSAICIMAGEIRAF_
+%token MOSAICIMAGEWFPC2_
+%token RGBARRAY_
+%token RGBCUBE_
+%token SRGBCUBE_
+%token RGBIMAGE_
+%token WFPC2_
+%token IRAF_
+
+%token SHM_
+%token SHMCMD_
+
+%%
+
+#include coords.trl
+#include numeric.trl
+
+# only called by xpa/samp
+command : shms
+ ;
+
+shms : shms shmm
+ | shmm
+ ;
+
+shmm : shm
+ | SHMCMD_ shm
+ | SHM_ shm
+ ;
+
+shm : key INT_ {MultiLoad; ShmCmdSet shared fits {} $1 $2 {}}
+ | FITS_ key INT_ filename {MultiLoad; ShmCmdSet shared fits {} $2 $3 $4}
+ | MOSAICIMAGE_ wcssys key INT_ filename {MultiLoad; ShmCmdSet shared fits "mosaic image $2" $3 $4 $5}
+ | MOSAICIMAGE_ IRAF_ key INT_ filename {MultiLoad; ShmCmdSet shared fits {mosaic image iraf} $3 $4 $5}
+ | MOSAICIMAGE_ WFPC2_ key INT_ filename {MultiLoad; ShmCmdSet shared fits {mosaic image wfpc2} $3 $4 $5}
+ | MOSAIC_ wcssys key INT_ filename {ShmCmdSet shared fits "mosaic $2" $3 $4 $5}
+ | MOSAIC_ IRAF_ key INT_ filename {ShmCmdSet shared fits {mosaic iraf} $3 $4 $5}
+ | RGBCUBE_ key INT_ filename {MultiLoadRGB; ShmCmdSet shared fits {rgb cube} $2 $3 $4}
+ | RGBIMAGE_ key INT_ filename {MultiLoadRGB; ShmCmdSet shared fits {rgb image} $2 $3 $4}
+ | ARRAY_ key INT_ STRING_ {MultiLoad; ShmCmdSet shared array {} $2 $3 $4}
+ | RGBARRAY_ key INT_ STRING_ {MultiLoadRGB; ShmCmdSet shared array {rgb cube} $2 $3 $4}
+
+# backward compatibility
+ | MOSAICIMAGEWCS_ key INT_ filename {MultiLoad; ShmCmdSet shared fits {mosaic image wcs} $2 $3 $4}
+ | MOSAICIMAGEIRAF_ key INT_ filename {MultiLoad; ShmCmdSet shared fits {mosaic image iraf} $2 $3 $4}
+ | MOSAICIMAGEWFPC2_ key INT_ filename {MultiLoad; ShmCmdSet shared fits {mosaic image wfpc2} $2 $3 $4}
+ | MOSAICWCS_ key INT_ filename {ShmCmdSet shared fits {mosaic wcs} $2 $3 $4}
+ | MOSAICIRAF_ key INT_ filename {ShmCmdSet shared fits {mosaic iraf} $2 $3 $4}
+
+# backward compatibility
+ | SFITS_ key STRING_ INT_ filename {MultiLoad; ShmCmdSet sshared fits {} $2 $4 $5 $3}
+ | SMOSAIC_ wcssys key STRING_ INT_ filename {ShmCmdSet sshared fits "mosaic $2" $3 $5 $6 $4}
+ | SRGBCUBE_ key STRING_ INT_ filename {MultiLoadRGB; ShmCmdSet sshared fits {rgb cube} $2 $4 $5 $3}
+ ;
+
+key : KEY_ {set _ key}
+ | SHMID_ {set _ shmid}
+ ;
+
+filename : {set _ {}}
+ | STRING_ {set _ $1}
+ ;
+
+%%
+
+proc shm::yyerror {msg} {
+ variable yycnt
+ variable yy_current_buffer
+ variable index_
+
+ ParserError $msg $yycnt $yy_current_buffer $index_
+}