summaryrefslogtreecommitdiffstats
path: root/ds9/library/parser.tac
blob: 58a67d6b902254e3e5ef21e5439c7dd562fcbc8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
%{
%}

%token INT_
%token REAL_
%token STRING_

%token 2MASS_
%token 3D_
%token ABOUT_
%token ALIGN_
%token ANALYSIS_
%token ARCMIN_
%token ARCSEC_
%token ARRAY_
%token ASINH_
%token CLOSE_
%token COORD_
%token CROSSHAIR_
%token CURRENT_
%token DEGREES_
%token FALSE_
%token FRAME_
%token NAME_
%token NEW_
%token NO_
%token OFF_
%token ON_
%token OPEN_
%token PIXELS_
%token SAVE_
%token SIZE_
%token SURVEY_
%token TRUE_
%token UPDATE_
%token YES_

%%

commands : commands command
 | command
 ;

command : 2MASS_ 2mass
 | 3D_ 3d
 | ABOUT_ about
 | ALIGN_ align
 | ANALYSIS_ analysis
 | ARRAY_ array
 | ASINH_ asinh
 ;

numeric	: REAL_ {set _ $1}
 | INT_ {set _ $1}
 ;

yesno : YES_ {set _ 1}
 | TRUE_ {set _ 1}
 | ON_ {set _ 1}
 | NO_ {set _ 0}
 | FALSE_ {set _ 0}
 | OFF_ {set _ 0}
 | '1' {set _ 1}
# | '0' {set _ 0}
 ;

newCurrent : NEW_ {set _ new}
 | CURRENT_ {set _ current}
 ;

degArcminArcsec : DEGREES_ {set _ degrees}
 | ARCMIN_ {set _ arcmin}
 | ARCSEC_ {set _ arcsec}
 ;

2mass : OPEN_ {}
 | CLOSE_ {ARDestroy dtwomass}
 | SAVE_ yesno {global dtwomass; set dtwomass(save) $2}
 | FRAME_ newCurrent {global dtwomass; set dtwomass(mode) $2}
 | SIZE_ 2massSize
 | SURVEY_ 2massSurvey {global dtwomass; set dtwomass(survey) $2}
 | UPDATE_ FRAME_ {IMGSVRUpdate dtwomass; IMGSVRApply dtwomass 1}
 | UPDATE_ CROSSHAIR_ {IMGSVRCrosshair dtwomass; IMGSVRApply dtwomass 1}
 | COORD_
 | NAME_ STRING_
 ;
# {}
# default

2massSize : numeric numeric {
   global dtwomass
   set dtwomass(width) $1
   set dtwomass(height) $2
 }
 | numeric numeric degArcminArcsec {
   global dtwomass
   set dtwomass(width) $1
   set dtwomass(height) $2
   set dtwomass(rformat) $3
   set dtwomass(rformat,msg) $3
 }
 ;

2massSurvey : 'j' {set _ $1}
 | 'h' {set _ $1}
 | 'k' {set _ $1}
 ;

3d :  {puts "*** 3D ***"}
 ;

about : {puts "*** ABOUT ***"}
 ;

align : {puts "*** ALIGN ***"}
 ;

analysis : {puts "*** ANALYSIS ***"}
 ;

array : {puts "*** ARRAY ***"}
 ;

asinh : {puts "*** ASINH ***"}
 ;

%%