diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-07-13 19:14:19 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-07-13 19:14:19 (GMT) |
commit | ac67b101d1d855b19b845efedb3dc8911955fa01 (patch) | |
tree | b28cb260938405ed4466ddcea630010c348313db /ds9 | |
parent | 8b9583ccfb1d4b9b40a4d2d1c99f7d9e1683301c (diff) | |
download | blt-ac67b101d1d855b19b845efedb3dc8911955fa01.zip blt-ac67b101d1d855b19b845efedb3dc8911955fa01.tar.gz blt-ac67b101d1d855b19b845efedb3dc8911955fa01.tar.bz2 |
update parser
Diffstat (limited to 'ds9')
-rw-r--r-- | ds9/library/lex.fcl | 11 | ||||
-rw-r--r-- | ds9/library/parser.tac | 65 |
2 files changed, 74 insertions, 2 deletions
diff --git a/ds9/library/lex.fcl b/ds9/library/lex.fcl index d36ef4b..db497e1 100644 --- a/ds9/library/lex.fcl +++ b/ds9/library/lex.fcl @@ -29,6 +29,7 @@ E [Ee][+-]?{D}+ -blue {return $::BLUECMD_} -cd {return $::CDCMD_} -console {return $::CONSOLECMD_} +-cube {return $::CUBECMD_} -cursor {return $::CURSORCMD_} -exit {return $::QUITCMD_} -fits {return $::FITSCMD_} @@ -68,6 +69,13 @@ E [Ee][+-]?{D}+ -zoom {return $::ZOOMCMD_} -zscale {return $::ZSCALECMD_} +123 {return $::123_} +132 {return $::132_} +213 {return $::213_} +231 {return $::231_} +312 {return $::312_} +321 {return $::321_} + 3d {return $::3D_} about {return $::ABOUT_} aip {return $::AIP_} @@ -80,6 +88,7 @@ auto {return $::AUTO_} automatic {return $::AUTOMATIC_} average {return $::AVERAGE_} axes {return $::AXES_} +axis {return $::AXIS_} azimuth {return $::AZIMUTH_} az {return $::AZIMUTH_} back {return $::BACK_} @@ -172,6 +181,7 @@ open {return $::OPEN_} order {return $::ORDER_} out {return $::OUT_} pan {return $::PAN_} +play {return $::PLAY_} pointer {return $::POINTER_} pow {return $::POW_} prev {return $::PREV_} @@ -199,6 +209,7 @@ slice {return $::SLICE_} smooth {return $::SMOOTH_} squared {return $::SQUARED_} sqrt {return $::SQRT_} +stop {return $::STOP_} sum {return $::SUM_} survey {return $::SURVEY_} system {return $::SYSTEM_} diff --git a/ds9/library/parser.tac b/ds9/library/parser.tac index e0bdaf7..edfbef1 100644 --- a/ds9/library/parser.tac +++ b/ds9/library/parser.tac @@ -25,6 +25,7 @@ set file(load) 0 %token BLINKCMD_ %token CDCMD_ %token CONSOLECMD_ +%token CUBECMD_ %token CURSORCMD_ %token GREENCMD_ %token FITSCMD_ @@ -63,6 +64,13 @@ set file(load) 0 %token ZOOMCMD_ %token ZSCALECMD_ +%token 123_ +%token 132_ +%token 213_ +%token 231_ +%token 312_ +%token 321_ + %token 3D_ %token ABOUT_ %token AIP_ @@ -75,6 +83,7 @@ set file(load) 0 %token AUTOMATIC_ %token AVERAGE_ %token AXES_ +%token AXIS_ %token AZIMUTH_ %token BACK_ %token BACKGROUND_ @@ -164,6 +173,7 @@ set file(load) 0 %token ORDER_ %token OUT_ %token PAN_ +%token PLAY_ %token POINTER_ %token POW_ %token PREV_ @@ -191,6 +201,7 @@ set file(load) 0 %token SMOOTH_ %token SQUARED_ %token SQRT_ +%token STOP_ %token SUM_ %token SURVEY_ %token SYSTEM_ @@ -253,6 +264,7 @@ command : 2MASSCMD_ {2MASSDialog} 2mass | BLUECMD_ {global current; set current(rgb) blue; RGBChannel} | CDCMD_ cd | CONSOLECMD_ {global ds9; OpenConsole; InitError $ds9(msg,src)} + | CUBECMD_ {CubeDialog} cube | CURSORCMD_ INT_ INT_ {CursorCmd $2 $3} | FITSCMD_ fits | FRAMECMD_ frame @@ -278,7 +290,7 @@ command : 2MASSCMD_ {2MASSDialog} 2mass | QUITCMD_ {QuitDS9} | RAISECMD_ {global ds9; raise $ds9(top)} | REDCMD_ {global current; set current(rgb) red; RGBChannel} - | RGBCMD_ rgb + | RGBCMD_ {RGBDialog} rgb | SINGLECMD_ {global current; ProcessRealizeDS9; set current(display) single; DisplayMode} | SINHCMD_ {global scale; set scale(type) sinh; ChangeScale} | SLEEPCMD_ {UpdateDS9; RealizeDS9} sleep @@ -565,6 +577,55 @@ cd : STRING_ {cd $2} | '/' {cd /} ; +cube : cubeSlice + | OPEN_ {} + | CLOSE_ {CubeDestroyDialog} + | MATCH_ cubeMatch + | LOCK_ cubeLock + | PLAY_ {CubePlay} + | STOP_ {CubeStop} + | NEXT_ {CubeNext} + | PREV_ {CubePrev} + | FIRST_ {CubeFirst} + | LAST_ {CubeLast} + | INTERVAL_ numeric {global blink; set blink(interval) [expr int($2*1000)]} + | AXIS_ INT_ {global cube; set cube(axis) [expr $2-1]} + | AXES_ cubeAxes + | ORDER_ cubeAxes + ; + +cubeSlice : INT_ {global dcube; global cube; set dcube(wcs,2) $1; set cube(system) image; set cube(axis) 2; CubeApply 2} + | numeric coordsys {global dcube; global cube; set dcube(wcs,2) $1; set cube(system) $2; set cube(axis) 2; CubeApply 2} + | numeric coordsys INT_ {global dcube; global cube; set aa [expr $3-1]; set dcube(wcs,$aa) $1; set cube(system) $2; set cube(axis) $aa; CubeApply $aa} + ; + +cubeMatch : {MatchCubeCurrent image} + | coordsys {MatchCubeCurrent $1} + ; + +cubeLock : {global cube; set cube(lock) image; LockCubeCurrent} + | yes {global cube; set cube(lock) image; LockCubeCurrent} + | no {global cube; set cube(lock) none; LockCubeCurrent} + | coordsys {global cube; set cube(lock) $1; LockCubeCurrent} + | NONE_ {global cube; set cube(lock) none; LockCubeCurrent} + ; + +cubeAxes : cubeAxesOrder {global cube; set cube(axes) $1; CubeAxes} + | LOCK_ cubeAxesLock + ; + +cubeAxesOrder : 123_ {set _ 123} + | 132_ {set _ 132} + | 213_ {set _ 213} + | 231_ {set _ 231} + | 312_ {set _ 312} + | 321_ {set _ 321} + ; + +cubeAxesLock : {global cube; set cube(lock,axes) 1; LockAxesCurrent} + | yesno {global cube; set cube(lock,axes) $1; LockAxesCurrent} + ; + fits : {global file; set file(type) fits} | MOSAIC_ mosaicType {global file; set file(type) mosaic; set file(mosaic) $2} | MOSAICIMAGE_ mosaicImageType {global file; set file(type) mosaicimage; set file(mosaic) $2} @@ -716,7 +777,7 @@ prefs : CLEAR_ {ClearPrefs} ; rgb : {CreateRGBFrame} - | OPEN_ {RGBDialog} + | OPEN_ {} | CLOSE_ {RGBDestroyDialog} | RED_ {global current; set current(rgb) red; RGBChannel} | GREEN_ {global current; set current(rgb) green; RGBChannel} |