summaryrefslogtreecommitdiffstats
path: root/ds9/parsers
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2018-04-16 20:35:25 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2018-04-16 20:35:25 (GMT)
commit80fcf2440ac675ecb86879f89c2cc7578585adeb (patch)
tree8a956b7ad360efb50b019035404da3fa03a6e484 /ds9/parsers
parentac49c4c2c62dfcfc892de5b39ca5f15203a83c12 (diff)
downloadblt-80fcf2440ac675ecb86879f89c2cc7578585adeb.zip
blt-80fcf2440ac675ecb86879f89c2cc7578585adeb.tar.gz
blt-80fcf2440ac675ecb86879f89c2cc7578585adeb.tar.bz2
add ds9 save parser
Diffstat (limited to 'ds9/parsers')
-rw-r--r--ds9/parsers/saveimageparser.tac20
-rw-r--r--ds9/parsers/savelex.fcl27
-rw-r--r--ds9/parsers/saveparser.tac68
3 files changed, 105 insertions, 10 deletions
diff --git a/ds9/parsers/saveimageparser.tac b/ds9/parsers/saveimageparser.tac
index 1e1fcb3..ba7c013 100644
--- a/ds9/parsers/saveimageparser.tac
+++ b/ds9/parsers/saveimageparser.tac
@@ -26,16 +26,16 @@ command : saveimage
| saveimage {yyclearin; YYACCEPT} STRING_
;
-saveimage : STRING_ opts {SaveImageCmdLoad [ExtToFormat $1] $1}
- | ext STRING_ opts {SaveImageCmdLoad $1 $2}
+saveimage : STRING_ opts {SaveimageCmdLoad [ExtToFormat $1] $1}
+ | ext STRING_ opts {SaveimageCmdLoad $1 $2}
# backward compatibilty
- | ext opts STRING_ {SaveImageCmdLoad $1 $2}
+ | ext opts STRING_ {SaveimageCmdLoad $1 $2}
# backward compatibilty
| MPEG_ mpeg
;
-mpeg : STRING_ {SaveImageCmdMPEG $1 1}
- | STRING_ INT_ {SaveImageCmdMPEG $1 $2}
+mpeg : STRING_ {SaveimageCmdMPEG $1 1}
+ | STRING_ INT_ {SaveimageCmdMPEG $1 $2}
;
ext : FITS_ {set _ fits}
@@ -47,11 +47,11 @@ ext : FITS_ {set _ fits}
;
opts :
- | NONE_ {SaveImageCmdSet tiff,compress none}
- | JPEG_ {SaveImageCmdSet tiff,compress jpeg}
- | PACKBITS_ {SaveImageCmdSet tiff,compress packbits}
- | DEFLATE_ {SaveImageCmdSet tiff,compress deflate}
- | numeric {SaveImageCmdSet jpeg,quality $1}
+ | NONE_ {SaveimageCmdSet tiff,compress none}
+ | JPEG_ {SaveimageCmdSet tiff,compress jpeg}
+ | PACKBITS_ {SaveimageCmdSet tiff,compress packbits}
+ | DEFLATE_ {SaveimageCmdSet tiff,compress deflate}
+ | numeric {SaveimageCmdSet jpeg,quality $1}
;
%%
diff --git a/ds9/parsers/savelex.fcl b/ds9/parsers/savelex.fcl
new file mode 100644
index 0000000..80a7969
--- /dev/null
+++ b/ds9/parsers/savelex.fcl
@@ -0,0 +1,27 @@
+#tab saveparser.tab.tcl
+
+%{
+%}
+
+#include defs.fin
+
+%%
+
+fits {return $FITS_}
+rgbimage {return $RGBIMAGE_}
+rgbcube {return $RGBCUBE_}
+mecube {return $MECUBE_}
+mosaic {return $MOSAIC_}
+mosaicwcs {return $MOSAICWCS_}
+mosaicimage {return $MOSAICIMAGE_}
+mosaicimagewcs {return $MOSAICIMAGEWCS_}
+wcs {return $WCS_}
+
+image {return $IMAGE_}
+table {return $TABLE_}
+slice {return $SLICE_}
+
+#include numeric.fin
+#include string.fin
+
+%%
diff --git a/ds9/parsers/saveparser.tac b/ds9/parsers/saveparser.tac
new file mode 100644
index 0000000..df6b801
--- /dev/null
+++ b/ds9/parsers/saveparser.tac
@@ -0,0 +1,68 @@
+%{
+%}
+
+#include numeric.tin
+#include string.tin
+
+%start command
+
+%token FITS_
+%token RGBIMAGE_
+%token RGBCUBE_
+%token MECUBE_
+%token MOSAIC_
+%token MOSAICWCS_
+%token MOSAICIMAGE_
+%token MOSAICIMAGEWCS_
+%token WCS_
+
+%token IMAGE_
+%token TABLE_
+%token SLICE_
+
+%%
+
+#include numeric.trl
+
+command : save
+ | save {yyclearin; YYACCEPT} STRING_
+ ;
+
+save : STRING_ opts {SaveCmdLoad [ExtToFormat $1] $1}
+ | format STRING_ opts {SaveCmdLoad $1 $2}
+ ;
+
+format : FITS_ {set _ fits}
+ | RGBIMAGE_ {set _ rgbimage}
+ | RGBCUBE_ {set _ rgbcube}
+ | MECUBE_ {set _ mecube}
+ | mosaic {set _ $1}
+ | mosaicimage {set _ $1}
+ ;
+
+mosaic : MOSAIC_ {set _ mosaic}
+ | MOSAIC_ WCS_ {set _ mosaic}
+ | MOSAICWCS_ {set _ mosaic}
+ ;
+
+mosaicimage : MOSAICIMAGE_ {set _ mosaicimage}
+ | MOSAICIMAGE_ WCS_ {set _ mosaicimage}
+ | MOSAICIMAGEWCS_ {set _ mosaicimage}
+ ;
+
+opts : {SavefitsCmdSet type image; SavefitsCmdSet mosaic 1}
+ | IMAGE_ {SavefitsCmdSet type image}
+ | TABLE_ {SavefitsCmdSet type table}
+ | SLICE_ {SavefitsCmdSet type slice}
+ | INT_ {SavefitsCmdSet mosaic $1}
+ ;
+
+%%
+
+proc save::yyerror {msg} {
+ variable yycnt
+ variable yy_current_buffer
+ variable index_
+
+ ParserError $msg $yycnt $yy_current_buffer $index_
+}