summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2018-05-11 19:28:43 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2018-05-11 19:28:43 (GMT)
commitda712e58d02b1e0cb0edf2da3a7b9a01190093b4 (patch)
treeafd6bdd1e2f1c1196aafcf33b934de0e4c753716
parent94f297496394bcec6e7a9ba0fb9a16471ae266b1 (diff)
downloadblt-da712e58d02b1e0cb0edf2da3a7b9a01190093b4.zip
blt-da712e58d02b1e0cb0edf2da3a7b9a01190093b4.tar.gz
blt-da712e58d02b1e0cb0edf2da3a7b9a01190093b4.tar.bz2
add ds9 smosaicwcs parser
-rw-r--r--ds9/parsers/smosaicwcslex.fcl16
-rw-r--r--ds9/parsers/smosaicwcsparser.tac40
2 files changed, 56 insertions, 0 deletions
diff --git a/ds9/parsers/smosaicwcslex.fcl b/ds9/parsers/smosaicwcslex.fcl
new file mode 100644
index 0000000..f5da16f
--- /dev/null
+++ b/ds9/parsers/smosaicwcslex.fcl
@@ -0,0 +1,16 @@
+#tab smosaicwcsparser.tab.tcl
+
+%{
+%}
+
+#include defs.fin
+
+%%
+
+mask {return $MASK_}
+new {return $NEW_}
+
+#include coords.fin
+#include string.fin
+
+%%
diff --git a/ds9/parsers/smosaicwcsparser.tac b/ds9/parsers/smosaicwcsparser.tac
new file mode 100644
index 0000000..e75864c
--- /dev/null
+++ b/ds9/parsers/smosaicwcsparser.tac
@@ -0,0 +1,40 @@
+%{
+%}
+
+#include coords.tin
+#include string.tin
+
+%start command
+
+%token MASK_
+%token NEW_
+
+%%
+
+#include coords.trl
+
+command : smosaicwcs
+ | smosaicwcs {yyclearin; YYACCEPT} STRING_
+ ;
+
+smosaicwcs : opts sys STRING_ STRING_ {LoadSMosaicWCSFile $3 $4 $2 $1}
+ ;
+
+sys : {set _ wcs}
+ | wcssys {set _ $1}
+ ;
+
+opts :
+ | NEW_ {CreateFrame; set _ {}}
+ | MASK_ {set _ mask}
+ ;
+
+%%
+
+proc smosaicwcs::yyerror {msg} {
+ variable yycnt
+ variable yy_current_buffer
+ variable index_
+
+ ParserError $msg $yycnt $yy_current_buffer $index_
+}