summaryrefslogtreecommitdiffstats
path: root/ds9/parsers/plotsendparser.tac
diff options
context:
space:
mode:
Diffstat (limited to 'ds9/parsers/plotsendparser.tac')
-rw-r--r--ds9/parsers/plotsendparser.tac162
1 files changed, 162 insertions, 0 deletions
diff --git a/ds9/parsers/plotsendparser.tac b/ds9/parsers/plotsendparser.tac
new file mode 100644
index 0000000..efcce12
--- /dev/null
+++ b/ds9/parsers/plotsendparser.tac
@@ -0,0 +1,162 @@
+%{
+%}
+
+#include font.tin
+#include string.tin
+
+%token AUTO_
+%token AXIS_
+%token AXESNUMBERS_
+%token AXESTITLE_
+%token BARMODE_
+%token CAP_
+%token COLOR_
+%token DASH_
+%token DATASET_
+%token ERROR_
+%token ERRORBAR_
+%token FAMILY_
+%token FILL_
+%token FILLCOLOR_
+%token FLIP_
+%token FORMAT_
+%token GRID_
+%token LABELS_
+%token LEGEND_
+%token LEGENDTITLE_
+%token LIST_
+%token LOG_
+%token MAX_
+%token MIN_
+%token MODE_
+%token NUMBERS_
+%token NAME_
+%token POSITION_
+%token RELIEF_
+%token SELECT_
+%token SHAPE_
+%token SHOW_
+%token SIZE_
+%token SLANT_
+%token SMOOTH_
+%token STATS_
+%token STATISTICS_
+%token STYLE_
+%token TITLE_
+%token WEIGHT_
+%token WIDTH_
+%token XAXIS_
+%token YAXIS_
+
+%start plotsend
+
+%%
+
+plotsend : {ProcessSendCmdGet iap windows}
+ | {if {![PlotCmdCheck]} {plot::YYABORT}} plotCmd
+ | STRING_ {if {![PlotCmdRef $1]} {plot::YYABORT}} plotCmd
+ ;
+
+xy : 'x' {set _ x}
+ | 'X' {set _ x}
+ | 'y' {set _ y}
+ | 'Y' {set _ y}
+ ;
+
+# backward compatibility
+xyaxis : XAXIS_ {set _ x}
+ | YAXIS_ {set _ y}
+ ;
+
+plotCmd : STATS_ {ProcessSendCmdCVAR PlotStatsGenerate}
+ # backward compatibility
+ | STATISTICS_ {ProcessSendCmdCVAR PlotStatsGenerate}
+ | LIST_ {ProcessSendCmdCVAR PlotListGenerate}
+ | MODE_ {ProcessSendCmdCVARGet mode}
+ | AXIS_ axis
+ | LEGEND_ legend
+ | FONT_ fontt
+ | TITLE_ title
+ | BARMODE_ {ProcessSendCmdCVARGet bar,mode}
+ | SHOW_ {ProcessSendCmdCVARYesNo show}
+ | COLOR_ {ProcessSendCmdCVARGet color}
+ | FILL_ {ProcessSendCmdCVARGet fill}
+ | FILLCOLOR_ {ProcessSendCmdCVARGet fill,color}
+ | ERROR_ errorr
+ # backward compatibility
+ | ERRORBAR_ errorr
+ | NAME_ {ProcessSendCmdCVARGet name}
+ | SHAPE_ shape
+ | RELIEF_ {ProcessSendCmdCVARGet bar,relief}
+ | SMOOTH_ {ProcessSendCmdCVARGet smooth}
+ | WIDTH_ {ProcessSendCmdCVARGet width}
+ | DASH_ {ProcessSendCmdCVARYesNo dash}
+ | SELECT_ {ProcessSendCmdCVARGet data,current}
+ # backward compatibility
+ | DATASET_ {ProcessSendCmdCVARGet data,current}
+ ;
+
+axis : xy GRID_ {ProcessSendCmdCVARYesNo "axis,$1,grid"}
+ | xy LOG_ {ProcessSendCmdCVARYesNo "axis,$1,log"}
+ | xy FLIP_ {ProcessSendCmdCVARYesNo "axis,$1,flip"}
+ | xy AUTO_ {ProcessSendCmdCVARYesNo "axis,$1,auto"}
+ | xy MIN_ {ProcessSendCmdCVARGet "axis,$1,min"}
+ | xy MAX_ {ProcessSendCmdCVARGet "axis,$1,max"}
+ | xy FORMAT_ {ProcessSendCmdCVARGet "axis,$1,format"}
+ ;
+
+legend : {ProcessSendCmdCVARYesNo legend}
+ | POSITION_ {ProcessSendCmdCVARGet legend,position}
+ ;
+
+fontt : fontType FONT_ {ProcessSendCmdCVARGet "$1,family"}
+# backward compatibility
+ | fontType FAMILY_ {ProcessSendCmdCVARGet "$1,family"}
+ | fontType FONTSIZE_ {ProcessSendCmdCVARGet "$1,size"}
+ | fontType FONTWEIGHT_ {ProcessSendCmdCVARGet "$1,weight"}
+ | fontType FONTSLANT_ {ProcessSendCmdCVARGet "$1,slant"}
+# backward compatibility
+ | fontType FONTSTYLE_ {ProcessSendCmdCVARGet "$1,weight"}
+ | fontType SIZE_ {ProcessSendCmdCVARGet "$1,size"}
+ | fontType WEIGHT_ {ProcessSendCmdCVARGet "$1,weight"}
+ | fontType SLANT_ {ProcessSendCmdCVARGet "$1,slant"}
+ | fontType STYLE_ {ProcessSendCmdCVARGet "$1,weight"}
+ ;
+
+fontType : TITLE_ {set _ graph,title}
+ | LABELS_ {set _ axis,title}
+ # backward compatibility
+ | AXESTITLE_ {set _ axis,title}
+ | NUMBERS_ {set _ axis,font}
+ # backward compatibility
+ | AXESNUMBERS_ {set _ axis,font}
+ | LEGEND_ {set _ legend,font}
+ | LEGENDTITLE_ {set _ legend,title}
+ ;
+
+title : {ProcessSendCmdCVARGet graph,title}
+ | xy {ProcessSendCmdCVARGet "axis,$1,title"}
+ | xyaxis {ProcessSendCmdCVARGet "axis,$1,title"}
+ | LEGEND_ {ProcessSendCmdCVARGet legend,title}
+ ;
+
+errorr : {ProcessSendCmdCVARYesNo error}
+ | CAP_ {ProcessSendCmdCVARYesNo error,cap}
+ | COLOR_ {ProcessSendCmdCVARGet error,color}
+ | WIDTH_ {ProcessSendCmdCVARGet error,width}
+ ;
+
+shape : {ProcessSendCmdCVARGet shape,symbol}
+ | FILL_ {ProcessSendCmdCVARYesNo shape,fill}
+ | COLOR_ {ProcessSendCmdCVARGet shape,color}
+ ;
+
+%%
+
+proc plotsend::yyerror {msg} {
+ variable yycnt
+ variable yy_current_buffer
+ variable index_
+
+ ParserError $msg $yycnt $yy_current_buffer $index_
+}