summaryrefslogtreecommitdiffstats
path: root/ds9/parsers
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2018-06-08 19:12:14 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2018-06-08 19:12:14 (GMT)
commit7f05adf25227fd956f5fb194fcfc4e82cf82135d (patch)
tree120c8d6dac493195f2c98f5c46fdffafdfe77bbb /ds9/parsers
parent8fe9a25bafd93b4cb1ac7b07b486330c750b834b (diff)
downloadblt-7f05adf25227fd956f5fb194fcfc4e82cf82135d.zip
blt-7f05adf25227fd956f5fb194fcfc4e82cf82135d.tar.gz
blt-7f05adf25227fd956f5fb194fcfc4e82cf82135d.tar.bz2
add ds9 tile send parser
Diffstat (limited to 'ds9/parsers')
-rw-r--r--ds9/parsers/tilesendlex.fcl18
-rw-r--r--ds9/parsers/tilesendparser.tac33
2 files changed, 51 insertions, 0 deletions
diff --git a/ds9/parsers/tilesendlex.fcl b/ds9/parsers/tilesendlex.fcl
new file mode 100644
index 0000000..8c4eeca
--- /dev/null
+++ b/ds9/parsers/tilesendlex.fcl
@@ -0,0 +1,18 @@
+#tab tilesendparser.tab.tcl
+
+%{
+%}
+
+#include defs.fin
+
+%%
+
+direction {return $DIRECTION_}
+gap {return $GAP_}
+grid {return $GRID_}
+layout {return $LAYOUT_}
+mode {return $MODE_}
+
+#include ws.fin
+
+%%
diff --git a/ds9/parsers/tilesendparser.tac b/ds9/parsers/tilesendparser.tac
new file mode 100644
index 0000000..45edbe5
--- /dev/null
+++ b/ds9/parsers/tilesendparser.tac
@@ -0,0 +1,33 @@
+%{
+%}
+
+%start tilesend
+
+%token DIRECTION_
+%token GAP_
+%token GRID_
+%token LAYOUT_
+%token MODE_
+
+%%
+
+tilesend: {TileSendCmd}
+ | MODE_ {ProcessSendCmdGet tile mode}
+ | GRID_ grid
+ ;
+
+grid : MODE_ {ProcessSendCmdGet tile grid,mode}
+ | DIRECTION_ {ProcessSendCmdGet tile grid,dir}
+ | LAYOUT_ {ProcessSendCmdGet tile grid,row}
+ | GAP_ {ProcessSendCmdGet tile grid,gap}
+ ;
+
+%%
+
+proc tilesend::yyerror {msg} {
+ variable yycnt
+ variable yy_current_buffer
+ variable index_
+
+ ParserError $msg $yycnt $yy_current_buffer $index_
+}