summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ds9/library/panlex.tcl332
-rw-r--r--ds9/library/panparser.tcl2090
-rw-r--r--ds9/library/zoomparser.tcl184
-rw-r--r--ds9/parsers/panlex.fcl6
-rw-r--r--ds9/parsers/panparser.tac48
-rw-r--r--ds9/parsers/zoomparser.tac6
6 files changed, 1261 insertions, 1405 deletions
diff --git a/ds9/library/panlex.tcl b/ds9/library/panlex.tcl
index 8c88019..7605064 100644
--- a/ds9/library/panlex.tcl
+++ b/ds9/library/panlex.tcl
@@ -202,391 +202,398 @@ proc pan::yylex {} {
set yyleng [string length $yytext]
set matched_rule 0
}
- # rule 1: close
- if {[regexp -start $index_ -indices -line -nocase -- {\A(close)} $yy_current_buffer match] > 0 && \
+ # rule 1: -zoom
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(-zoom)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 1
}
- # rule 2: open
- if {[regexp -start $index_ -indices -line -nocase -- {\A(open)} $yy_current_buffer match] > 0 && \
+ # rule 2: close
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(close)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 2
}
- # rule 3: to
- if {[regexp -start $index_ -indices -line -nocase -- {\A(to)} $yy_current_buffer match] > 0 && \
+ # rule 3: open
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(open)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 3
}
- # rule 4: wcs
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcs)} $yy_current_buffer match] > 0 && \
+ # rule 4: to
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(to)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 4
}
- # rule 5: wcsa
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsa)} $yy_current_buffer match] > 0 && \
+ # rule 5: wcs
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcs)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 5
}
- # rule 6: wcsb
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsb)} $yy_current_buffer match] > 0 && \
+ # rule 6: wcsa
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsa)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 6
}
- # rule 7: wcsc
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsc)} $yy_current_buffer match] > 0 && \
+ # rule 7: wcsb
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsb)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 7
}
- # rule 8: wcsd
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsd)} $yy_current_buffer match] > 0 && \
+ # rule 8: wcsc
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsc)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 8
}
- # rule 9: wcse
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcse)} $yy_current_buffer match] > 0 && \
+ # rule 9: wcsd
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsd)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 9
}
- # rule 10: wcsf
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsf)} $yy_current_buffer match] > 0 && \
+ # rule 10: wcse
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcse)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 10
}
- # rule 11: wcsg
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsg)} $yy_current_buffer match] > 0 && \
+ # rule 11: wcsf
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsf)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 11
}
- # rule 12: wcsh
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsh)} $yy_current_buffer match] > 0 && \
+ # rule 12: wcsg
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsg)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 12
}
- # rule 13: wcsi
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsi)} $yy_current_buffer match] > 0 && \
+ # rule 13: wcsh
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsh)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 13
}
- # rule 14: wcsj
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsj)} $yy_current_buffer match] > 0 && \
+ # rule 14: wcsi
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsi)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 14
}
- # rule 15: wcsk
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsk)} $yy_current_buffer match] > 0 && \
+ # rule 15: wcsj
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsj)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 15
}
- # rule 16: wcsl
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsl)} $yy_current_buffer match] > 0 && \
+ # rule 16: wcsk
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsk)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 16
}
- # rule 17: wcsm
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsm)} $yy_current_buffer match] > 0 && \
+ # rule 17: wcsl
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsl)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 17
}
- # rule 18: wcsn
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsn)} $yy_current_buffer match] > 0 && \
+ # rule 18: wcsm
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsm)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 18
}
- # rule 19: wcso
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcso)} $yy_current_buffer match] > 0 && \
+ # rule 19: wcsn
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsn)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 19
}
- # rule 20: wcsp
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsp)} $yy_current_buffer match] > 0 && \
+ # rule 20: wcso
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcso)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 20
}
- # rule 21: wcsq
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsq)} $yy_current_buffer match] > 0 && \
+ # rule 21: wcsp
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsp)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 21
}
- # rule 22: wcsr
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsr)} $yy_current_buffer match] > 0 && \
+ # rule 22: wcsq
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsq)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 22
}
- # rule 23: wcss
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcss)} $yy_current_buffer match] > 0 && \
+ # rule 23: wcsr
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsr)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 23
}
- # rule 24: wcst
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcst)} $yy_current_buffer match] > 0 && \
+ # rule 24: wcss
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcss)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 24
}
- # rule 25: wcsu
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsu)} $yy_current_buffer match] > 0 && \
+ # rule 25: wcst
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcst)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 25
}
- # rule 26: wcsv
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsv)} $yy_current_buffer match] > 0 && \
+ # rule 26: wcsu
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsu)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 26
}
- # rule 27: wcsw
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsw)} $yy_current_buffer match] > 0 && \
+ # rule 27: wcsv
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsv)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 27
}
- # rule 28: wcsx
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsx)} $yy_current_buffer match] > 0 && \
+ # rule 28: wcsw
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsw)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 28
}
- # rule 29: wcsy
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsy)} $yy_current_buffer match] > 0 && \
+ # rule 29: wcsx
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsx)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 29
}
- # rule 30: wcsz
- if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsz)} $yy_current_buffer match] > 0 && \
+ # rule 30: wcsy
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsy)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 30
}
- # rule 31: image
- if {[regexp -start $index_ -indices -line -nocase -- {\A(image)} $yy_current_buffer match] > 0 && \
+ # rule 31: wcsz
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(wcsz)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 31
}
- # rule 32: physical
- if {[regexp -start $index_ -indices -line -nocase -- {\A(physical)} $yy_current_buffer match] > 0 && \
+ # rule 32: image
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(image)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 32
}
- # rule 33: amplifier
- if {[regexp -start $index_ -indices -line -nocase -- {\A(amplifier)} $yy_current_buffer match] > 0 && \
+ # rule 33: physical
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(physical)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 33
}
- # rule 34: detector
- if {[regexp -start $index_ -indices -line -nocase -- {\A(detector)} $yy_current_buffer match] > 0 && \
+ # rule 34: amplifier
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(amplifier)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 34
}
- # rule 35: fk4
- if {[regexp -start $index_ -indices -line -nocase -- {\A(fk4)} $yy_current_buffer match] > 0 && \
+ # rule 35: detector
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(detector)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 35
}
- # rule 36: b1950
- if {[regexp -start $index_ -indices -line -nocase -- {\A(b1950)} $yy_current_buffer match] > 0 && \
+ # rule 36: fk4
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(fk4)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 36
}
- # rule 37: fk5
- if {[regexp -start $index_ -indices -line -nocase -- {\A(fk5)} $yy_current_buffer match] > 0 && \
+ # rule 37: b1950
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(b1950)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 37
}
- # rule 38: j2000
- if {[regexp -start $index_ -indices -line -nocase -- {\A(j2000)} $yy_current_buffer match] > 0 && \
+ # rule 38: fk5
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(fk5)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 38
}
- # rule 39: galactic
- if {[regexp -start $index_ -indices -line -nocase -- {\A(galactic)} $yy_current_buffer match] > 0 && \
+ # rule 39: j2000
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(j2000)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 39
}
- # rule 40: ecliptic
- if {[regexp -start $index_ -indices -line -nocase -- {\A(ecliptic)} $yy_current_buffer match] > 0 && \
+ # rule 40: galactic
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(galactic)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 40
}
- # rule 41: [+-]?{D}+
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+)} $yy_current_buffer match] > 0 && \
+ # rule 41: ecliptic
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(ecliptic)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 41
}
- # rule 42: [+-]?{D}+\.?({E})?
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+\.?(([Ee][+-]?([0-9])+))?)} $yy_current_buffer match] > 0 && \
+ # rule 42: [+-]?{D}+
+ if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 42
}
- # rule 43: [+-]?{D}*\.{D}+({E})?
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])*\.([0-9])+(([Ee][+-]?([0-9])+))?)} $yy_current_buffer match] > 0 && \
+ # rule 43: [+-]?{D}+\.?({E})?
+ if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+\.?(([Ee][+-]?([0-9])+))?)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 43
}
- # rule 44: [+-]?{D}+:{D}+:{D}+\.?
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+:([0-9])+:([0-9])+\.?)} $yy_current_buffer match] > 0 && \
+ # rule 44: [+-]?{D}*\.{D}+({E})?
+ if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])*\.([0-9])+(([Ee][+-]?([0-9])+))?)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 44
}
- # rule 45: [+-]?{D}+:{D}+:{D}*\.{D}+
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+:([0-9])+:([0-9])*\.([0-9])+)} $yy_current_buffer match] > 0 && \
+ # rule 45: [+-]?{D}+:{D}+:{D}+\.?
+ if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+:([0-9])+:([0-9])+\.?)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 45
}
- # rule 46: [+-]?{D}+h{D}+m{D}+\.?s
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+h([0-9])+m([0-9])+\.?s)} $yy_current_buffer match] > 0 && \
+ # rule 46: [+-]?{D}+:{D}+:{D}*\.{D}+
+ if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+:([0-9])+:([0-9])*\.([0-9])+)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 46
}
- # rule 47: [+-]?{D}+h{D}+m{D}*\.{D}+s
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+h([0-9])+m([0-9])*\.([0-9])+s)} $yy_current_buffer match] > 0 && \
+ # rule 47: [+-]?{D}+h{D}+m{D}+\.?s
+ if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+h([0-9])+m([0-9])+\.?s)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 47
}
- # rule 48: [+-]?{D}+d{D}+m{D}+\.?s
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+d([0-9])+m([0-9])+\.?s)} $yy_current_buffer match] > 0 && \
+ # rule 48: [+-]?{D}+h{D}+m{D}*\.{D}+s
+ if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+h([0-9])+m([0-9])*\.([0-9])+s)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 48
}
- # rule 49: [+-]?{D}+d{D}+m{D}*\.{D}+s
- if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+d([0-9])+m([0-9])*\.([0-9])+s)} $yy_current_buffer match] > 0 && \
+ # rule 49: [+-]?{D}+d{D}+m{D}+\.?s
+ if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+d([0-9])+m([0-9])+\.?s)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 49
}
- # rule 50: \"[^\"]*\"
- if {[regexp -start $index_ -indices -line -nocase -- {\A(\"[^\"]*\")} $yy_current_buffer match] > 0 && \
+ # rule 50: [+-]?{D}+d{D}+m{D}*\.{D}+s
+ if {[regexp -start $index_ -indices -line -nocase -- {\A([+-]?([0-9])+d([0-9])+m([0-9])*\.([0-9])+s)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 50
}
- # rule 51: \'[^\']*\'
- if {[regexp -start $index_ -indices -line -nocase -- {\A(\'[^\']*\')} $yy_current_buffer match] > 0 && \
+ # rule 51: \"[^\"]*\"
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(\"[^\"]*\")} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 51
}
- # rule 52: \{[^\}]*\}
- if {[regexp -start $index_ -indices -line -nocase -- {\A(\{[^\}]*\})} $yy_current_buffer match] > 0 && \
+ # rule 52: \'[^\']*\'
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(\'[^\']*\')} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 52
}
- # rule 53: \S+\S+
- if {[regexp -start $index_ -indices -line -nocase -- {\A(\S+\S+)} $yy_current_buffer match] > 0 && \
+ # rule 53: \{[^\}]*\}
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(\{[^\}]*\})} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 53
}
- # rule 54: \s
- if {[regexp -start $index_ -indices -line -nocase -- {\A(\s)} $yy_current_buffer match] > 0 && \
+ # rule 54: \S+\S+
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(\S+\S+)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 54
}
- # rule 55: .
- if {[regexp -start $index_ -indices -line -nocase -- {\A(.)} $yy_current_buffer match] > 0 && \
+ # rule 55: \s
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(\s)} $yy_current_buffer match] > 0 && \
[lindex $match 1] - $index_ + 1 > $yyleng} {
set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
set yyleng [string length $yytext]
set matched_rule 55
}
+ # rule 56: .
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(.)} $yy_current_buffer match] > 0 && \
+ [lindex $match 1] - $index_ + 1 > $yyleng} {
+ set yytext [string range $yy_current_buffer $index_ [lindex $match 1]]
+ set yyleng [string length $yytext]
+ set matched_rule 56
+ }
if {$matched_rule == -1} {
set yytext [string index $yy_current_buffer $index_]
set yyleng 1
@@ -603,146 +610,146 @@ proc pan::yylex {} {
return $pan::CMD_
}
1 {
-return $pan::CLOSE_
+return $pan::CMD_
}
2 {
-return $pan::OPEN_
+return $pan::CLOSE_
}
3 {
-return $pan::TO_
+return $pan::OPEN_
}
4 {
-return $pan::WCS_
+return $pan::TO_
}
5 {
-return $pan::WCSA_
+return $pan::WCS_
}
6 {
-return $pan::WCSB_
+return $pan::WCSA_
}
7 {
-return $pan::WCSC_
+return $pan::WCSB_
}
8 {
-return $pan::WCSD_
+return $pan::WCSC_
}
9 {
-return $pan::WCSE_
+return $pan::WCSD_
}
10 {
-return $pan::WCSF_
+return $pan::WCSE_
}
11 {
-return $pan::WCSG_
+return $pan::WCSF_
}
12 {
-return $pan::WCSH_
+return $pan::WCSG_
}
13 {
-return $pan::WCSI_
+return $pan::WCSH_
}
14 {
-return $pan::WCSJ_
+return $pan::WCSI_
}
15 {
-return $pan::WCSK_
+return $pan::WCSJ_
}
16 {
-return $pan::WCSL_
+return $pan::WCSK_
}
17 {
-return $pan::WCSM_
+return $pan::WCSL_
}
18 {
-return $pan::WCSN_
+return $pan::WCSM_
}
19 {
-return $pan::WCSO_
+return $pan::WCSN_
}
20 {
-return $pan::WCSP_
+return $pan::WCSO_
}
21 {
-return $pan::WCSQ_
+return $pan::WCSP_
}
22 {
-return $pan::WCSR_
+return $pan::WCSQ_
}
23 {
-return $pan::WCSS_
+return $pan::WCSR_
}
24 {
-return $pan::WCST_
+return $pan::WCSS_
}
25 {
-return $pan::WCSU_
+return $pan::WCST_
}
26 {
-return $pan::WCSV_
+return $pan::WCSU_
}
27 {
-return $pan::WCSW_
+return $pan::WCSV_
}
28 {
-return $pan::WCSX_
+return $pan::WCSW_
}
29 {
-return $pan::WCSY_
+return $pan::WCSX_
}
30 {
-return $pan::WCSZ_
+return $pan::WCSY_
}
31 {
-return $pan::IMAGE_
+return $pan::WCSZ_
}
32 {
-return $pan::PHYSICAL_
+return $pan::IMAGE_
}
33 {
-return $pan::AMPLIFIER_
+return $pan::PHYSICAL_
}
34 {
-return $pan::DETECTOR_
+return $pan::AMPLIFIER_
}
35 {
-return $pan::FK4_
+return $pan::DETECTOR_
}
36 {
return $pan::FK4_
}
37 {
-return $pan::FK5_
+return $pan::FK4_
}
38 {
return $pan::FK5_
}
39 {
-return $pan::GALACTIC_
+return $pan::FK5_
}
40 {
-return $pan::ECLIPTIC_
+return $pan::GALACTIC_
}
41 {
+return $pan::ECLIPTIC_
+ }
+ 42 {
set pan::yylval $yytext; return $pan::INT_
}
- 42 -
- 43 {
+ 43 -
+ 44 {
set pan::yylval $yytext; return $pan::REAL_
}
- 44 -
- 45 {
+ 45 -
+ 46 {
set pan::yylval $yytext; return $pan::SEXSTR_
}
- 46 -
- 47 {
+ 47 -
+ 48 {
set pan::yylval $yytext; return $pan::HMSSTR_
}
- 48 -
- 49 {
-set pan::yylval $yytext; return $pan::SMSSTR_
- }
+ 49 -
50 {
-set pan::yylval [string range $yytext 1 end-1]; return $pan::STRING_
+set pan::yylval $yytext; return $pan::SMSSTR_
}
51 {
set pan::yylval [string range $yytext 1 end-1]; return $pan::STRING_
@@ -751,12 +758,15 @@ set pan::yylval [string range $yytext 1 end-1]; return $pan::STRING_
set pan::yylval [string range $yytext 1 end-1]; return $pan::STRING_
}
53 {
-set pan::yylval $yytext; return $pan::STRING_
+set pan::yylval [string range $yytext 1 end-1]; return $pan::STRING_
}
54 {
-# ignore whitespace
+set pan::yylval $yytext; return $pan::STRING_
}
55 {
+# ignore whitespace
+ }
+ 56 {
set pan::yylval $yytext; return $pan::yylval
}
default
diff --git a/ds9/library/panparser.tcl b/ds9/library/panparser.tcl
index 6d521a1..68b69c1 100644
--- a/ds9/library/panparser.tcl
+++ b/ds9/library/panparser.tcl
@@ -1,7 +1,3 @@
-namespace eval pan {
- variable xx {}
- variable yy {}
-}
######
# Begin autogenerated taccle (version 1.2) routines.
@@ -57,1238 +53,1118 @@ proc pan::unsetupvalues {numsyms} {
}
array set pan::table {
- 9:283 shift
21:300 reduce
- 9:284 shift
- 16:283,target 43
21:301 reduce
- 9:285 shift
21:302 reduce
56:257 reduce
6:259,target 2
- 9:286 shift
- 9:287 shift
- 43:296,target 31
- 2:284,target 4
- 9:288 shift
- 13:291,target 43
- 13:301,target 53
- 58:301,target 53
+ 2:284,target 5
48:0 reduce
- 9:289 shift
- 9:290 shift
- 9:300 shift
21:296 reduce
- 9:291 shift
- 9:301 shift
- 14:274,target 26
+ 14:274,target 21
21:297 reduce
- 26:257 reduce
- 9:292 shift
- 9:302 shift
21:298 reduce
- 9:293 shift
- 10:298,target 50
- 15:257,target 47
+ 26:257 reduce
+ 10:308,target 51
+ 10:298,target 45
+ 15:257,target 61
21:299 reduce
- 61:257,target 58
- 9:294 shift
- 9:305 goto
- 9:295 shift
- 9:306 goto
- 9:296 shift
- 1:258,target 3
- 9:307 goto
- 9:297 shift
- 9:298 shift
+ 9:304 goto
+ 1:258,target 4
64:0,target 63
- 9:299 shift
- 33:0,target 21
- 9:268,target 20
- 16:299,target 43
- 62:299,target 51
+ 53:300,target 47
+ 53:290,target 37
+ 53:289,target 36
+ 33:0,target 27
+ 50:297,target 44
+ 19:302,target 13
+ 20:302,target 14
+ 16:299,target 10
21:0 reduce
- 44:296,target 32
- 14:291,target 43
- 14:301,target 53
- 56:300 shift
- 56:301 shift
- 56:302 shift
- 16:257,target 43
+ 14:291,target 38
+ 14:301,target 48
+ 59:301,target 48
+ 16:257,target 10
63:0 reduce
- 62:257,target 59
- 56:298,target 50
- 1:275,target 3
- 12:282,target 44
+ 62:257,target 55
+ 1:275,target 4
26:300 reduce
- 56:296 shift
+ 2:258,target 5
26:301 reduce
- 2:258,target 4
- 13:265,target 17
- 56:297 shift
- 56:307 goto
26:302 reduce
62:257 reduce
- 56:298 shift
- 56:299 shift
- 10:273,target 25
+ 10:273,target 20
26:296 reduce
26:297 reduce
- 32:257 reduce
+ 21:302,target 15
26:298 reduce
- 9:285,target 37
- 21:302,target 9
+ 32:257 reduce
+ 66:302,target 49
26:299 reduce
- 61:0,target 58
+ 52:281,target 28
+ 17:299,target 11
+ 63:299,target 46
+ 61:0,target 3
8:259,target 2
- 45:296,target 33
- 30:0,target 18
- 29:0,target 17
- 16:274,target 43
+ 29:0,target 23
+ 30:0,target 24
35:0 reduce
- 1:302,target 3
- 1:292,target 3
- 12:298,target 44
- 17:257,target 5
- 63:257,target 61
- 2:275,target 4
- 13:282,target 34
- 10:289,target 41
- 10:290,target 42
- 10:300,target 52
+ 1:302,target 4
+ 1:292,target 4
+ 17:257,target 11
+ 63:257,target 62
+ 2:275,target 5
+ 14:265,target 54
+ 10:289,target 36
+ 10:290,target 37
+ 10:300,target 47
9:0 reduce
- 62:300 shift
- 62:301 shift
- 22:302,target 10
- 62:302 shift
+ 52:297,target 44
+ 52:307,target 63
+ 22:302,target 16
+ 53:281,target 28
+ 18:299,target 12
32:300 reduce
- 64:299,target 51
- 62:296 shift
32:301 reduce
- 62:297 shift
- 62:307 goto
32:302 reduce
67:257 reduce
- 62:298 shift
- 62:299 shift
- 46:296,target 34
+ 16:301,target 10
32:296 reduce
- 16:291,target 43
- 16:301,target 43
- 62:301,target 53
32:297 reduce
37:257 reduce
32:298 reduce
32:299 reduce
- 2:302,target 4
- 2:292,target 4
- 13:298,target 50
- 18:257,target 6
+ 2:302,target 5
+ 2:292,target 5
+ 18:257,target 12
64:257,target 63
- 58:298,target 50
- 14:282,target 34
+ 14:282,target 29
50:0 reduce
49:0 reduce
- 57:0,target 52
- 56:300,target 52
- 1:266,target 3
- 12:273,target 44
- 26:0,target 14
- 23:302,target 11
- 9:276,target 28
- 47:296,target 35
- 14:298,target 50
- 19:257,target 7
- 20:257,target 8
- 65:257,target 65
+ 57:0,target 9
+ 1:266,target 4
+ 26:0,target 20
+ 53:297,target 44
+ 53:307,target 66
+ 23:302,target 17
+ 19:299,target 13
+ 20:299,target 14
+ 52:272,target 19
+ 17:301,target 11
+ 63:301,target 48
+ 14:308,target 60
+ 14:298,target 45
+ 19:257,target 13
+ 20:257,target 14
+ 65:257,target 57
+ 59:298,target 45
+ 59:308,target 68
22:0 reduce
37:300 reduce
37:301 reduce
37:302 reduce
- 0:310,target 11
- 0:309,target 10
- 16:265,target 43
- 1:283,target 3
- 12:289,target 44
- 12:290,target 44
- 12:300,target 44
+ 0:309,target 9
+ 1:283,target 4
64:0 reduce
37:296 reduce
- 2:266,target 4
- 13:273,target 25
+ 2:266,target 5
37:297 reduce
43:257 reduce
37:298 reduce
37:299 reduce
- 24:302,target 12
- 10:281,target 33
- 9:293,target 45
+ 24:302,target 18
+ 10:281,target 28
13:257 reduce
- 21:299,target 9
- 54:0,target 37
- 6:311,target 15
+ 21:299,target 15
+ 66:299,target 46
+ 54:0,target 6
+ 52:288,target 35
+ 53:272,target 19
2:257 reduce
- 23:0,target 11
- 64:301,target 53
+ 18:301,target 12
+ 23:0,target 17
2:258 reduce
- 13:265 shift
2:259 reduce
- 13:266 shift
- 13:267 shift
- 13:268 shift
- 21:257,target 9
- 66:257,target 51
- 13:269 shift
- 13:270 shift
- 13:271 shift
- 16:282,target 43
+ 21:257,target 15
+ 66:257,target 58
2:265 reduce
- 13:272 shift
2:266 reduce
- 1:299,target 3
+ 1:299,target 4
6:258,target 1
- 13:273 shift
- 36:0 reduce
2:267 reduce
- 13:274 shift
- 2:283,target 4
+ 36:0 reduce
+ 2:283,target 5
2:268 reduce
- 13:275 shift
- 13:289,target 41
- 13:290,target 42
- 13:300,target 52
- 58:300,target 52
2:270 reduce
2:269 reduce
- 13:276 shift
2:271 reduce
- 13:277 shift
- 14:273,target 25
+ 14:273,target 20
2:272 reduce
- 13:278 shift
2:273 reduce
- 10:307,target 59
- 10:297,target 49
- 13:279 shift
- 13:280 shift
- 25:302,target 13
+ 10:307,target 50
+ 10:297,target 44
2:274 reduce
- 13:281 shift
+ 25:302,target 19
2:275 reduce
- 13:282 shift
2:276 reduce
- 13:283 shift
- 43:300 reduce
2:277 reduce
- 1:257,target 3
- 13:284 shift
- 43:301 reduce
+ 1:257,target 4
2:278 reduce
- 13:285 shift
- 22:299,target 10
- 43:302 reduce
+ 22:299,target 16
2:280 reduce
2:279 reduce
- 13:286 shift
+ 53:288,target 35
2:281 reduce
- 13:287 shift
2:282 reduce
- 13:288 shift
2:283 reduce
- 13:289 shift
- 13:290 shift
- 13:300 shift
- 43:296 reduce
2:284 reduce
- 13:291 shift
- 13:301 shift
- 43:297 reduce
+ 50:296,target 43
2:285 reduce
- 13:292 shift
- 13:302 shift
+ 19:301,target 13
+ 20:301,target 14
48:257 reduce
- 43:298 reduce
2:286 reduce
- 13:293 shift
- 43:299 reduce
2:287 reduce
- 9:267,target 19
- 13:294 shift
2:288 reduce
- 13:305 goto
- 13:295 shift
2:300 reduce
2:290 reduce
2:289 reduce
- 13:306 goto
- 13:296 shift
- 16:298,target 43
- 22:257,target 10
- 67:257,target 55
- 62:298,target 50
+ 16:298,target 10
+ 22:257,target 16
+ 67:257,target 59
2:301 reduce
2:291 reduce
- 13:307 goto
- 13:297 shift
2:302 reduce
2:292 reduce
- 13:298 shift
18:257 reduce
2:293 reduce
- 13:299 shift
- 51:0,target 41
- 2:299,target 4
+ 51:0,target 54
+ 2:299,target 5
2:294 reduce
2:295 reduce
2:296 reduce
- 14:289,target 41
- 14:290,target 42
- 14:300,target 52
+ 14:289,target 36
+ 14:290,target 37
+ 14:300,target 47
+ 59:300,target 47
2:297 reduce
2:298 reduce
- 19:0,target 7
- 20:0,target 8
+ 19:0,target 13
+ 20:0,target 14
51:0 reduce
2:299 reduce
- 56:297,target 49
- 56:307,target 66
- 26:302,target 14
- 1:274,target 3
- 12:281,target 44
- 2:257,target 4
- 23:299,target 11
- 10:272,target 24
- 9:284,target 36
- 21:301,target 9
- 23:257,target 11
- 68:257,target 60
+ 26:302,target 20
+ 1:274,target 4
+ 2:257,target 5
+ 23:299,target 17
+ 10:272,target 19
+ 21:301,target 15
+ 66:301,target 48
+ 52:280,target 27
+ 52:279,target 26
+ 17:298,target 11
+ 23:257,target 17
+ 68:257,target 51
+ 63:298,target 45
+ 63:308,target 69
8:258,target 1
+ 18:300 reduce
+ 18:301 reduce
23:0 reduce
- 16:273,target 43
+ 18:302 reduce
54:257 reduce
- 1:301,target 3
- 1:291,target 3
- 5:0,target 45
- 12:297,target 44
- 27:302,target 15
- 2:274,target 4
- 13:281,target 33
+ 1:301,target 4
+ 1:291,target 4
+ 5:0,target 44
+ 27:302,target 21
+ 2:274,target 5
+ 18:296 reduce
65:0 reduce
+ 18:297 reduce
+ 18:298 reduce
24:257 reduce
- 24:299,target 12
- 47:0,target 35
- 10:288,target 40
- 16:0,target 43
- 22:301,target 10
- 24:257,target 12
+ 18:299 reduce
+ 24:299,target 18
+ 47:0,target 43
+ 10:288,target 35
+ 16:0,target 10
+ 52:296,target 43
+ 22:301,target 16
+ 53:280,target 27
+ 53:279,target 26
+ 18:298,target 12
+ 24:257,target 18
+ 70:257,target 60
69:257,target 64
- 64:298,target 50
- 16:289,target 43
- 16:290,target 43
- 16:300,target 43
- 62:300,target 52
- 2:301,target 4
- 2:291,target 4
- 13:307,target 63
- 13:297,target 49
- 58:297,target 49
- 58:307,target 67
+ 16:300,target 10
+ 2:301,target 5
+ 2:291,target 5
37:0 reduce
- 28:302,target 16
- 14:281,target 33
- 4:257,target 46
- 25:299,target 13
+ 28:302,target 22
+ 14:281,target 28
+ 4:257,target 45
+ 25:299,target 19
+ 1:265,target 4
24:300 reduce
- 1:265,target 3
- 12:272,target 44
24:301 reduce
24:302 reduce
+ 60:257 reduce
59:257 reduce
- 23:301,target 11
- 2:0,target 4
+ 53:296,target 43
+ 53:306,target 65
+ 23:301,target 17
+ 2:0,target 5
24:296 reduce
- 25:257,target 13
+ 19:298,target 13
+ 20:298,target 14
24:297 reduce
- 30:257 reduce
- 29:257 reduce
+ 25:257,target 19
24:298 reduce
+ 29:257 reduce
+ 30:257 reduce
24:299 reduce
- 9:275,target 27
- 44:0,target 32
- 13:0,target 57
+ 44:0,target 39
+ 52:271,target 18
+ 17:300,target 11
+ 63:300,target 47
+ 13:0,target 46
10:0 reduce
- 14:307,target 65
- 14:297,target 49
- 30:302,target 18
- 29:302,target 17
- 0:308,target 9
- 5:257,target 45
+ 14:307,target 59
+ 14:297,target 44
+ 59:297,target 44
+ 29:302,target 23
+ 30:302,target 24
+ 5:257,target 44
52:0 reduce
- 26:299,target 14
- 1:282,target 3
- 12:288,target 44
- 2:265,target 4
- 13:272,target 24
- 24:301,target 12
- 10:279,target 31
- 10:280,target 32
- 26:257,target 14
- 9:292,target 44
- 9:302,target 54
- 21:298,target 9
- 6:309,target 14
- 30:300 reduce
+ 26:299,target 20
+ 1:282,target 4
+ 2:265,target 5
+ 24:301,target 18
+ 10:279,target 26
+ 10:280,target 27
+ 59:300 shift
+ 21:298,target 15
+ 26:257,target 20
+ 66:298,target 45
+ 66:308,target 70
+ 59:301 shift
+ 59:302 shift
+ 52:287,target 34
+ 53:271,target 18
+ 6:310,target 13
29:300 reduce
- 30:301 reduce
+ 30:300 reduce
+ 59:296 shift
+ 18:300,target 12
29:301 reduce
- 64:300,target 52
- 30:302 reduce
+ 30:301 reduce
+ 59:297 shift
29:302 reduce
+ 30:302 reduce
65:257 reduce
- 31:302,target 19
- 30:296 reduce
+ 59:298 shift
+ 59:308 goto
+ 59:299 shift
29:296 reduce
- 30:297 reduce
+ 30:296 reduce
+ 31:302,target 25
29:297 reduce
- 16:281,target 43
- 35:257 reduce
- 30:298 reduce
- 29:298 reduce
+ 30:297 reduce
24:0 reduce
- 30:299 reduce
+ 29:298 reduce
+ 30:298 reduce
+ 35:257 reduce
+ 1:298,target 4
29:299 reduce
- 1:298,target 3
- 41:0,target 29
- 27:299,target 15
- 2:282,target 4
- 13:288,target 40
- 14:272,target 24
+ 30:299 reduce
+ 41:0,target 35
+ 27:299,target 21
+ 2:282,target 5
+ 14:272,target 19
66:0 reduce
- 10:0,target 53
- 10:306,target 58
- 10:296,target 48
- 25:301,target 13
- 27:257,target 15
- 22:298,target 10
- 9:266,target 18
- 16:297,target 43
- 62:297,target 49
- 62:307,target 68
- 32:302,target 20
- 2:298,target 4
- 28:299,target 16
- 14:288,target 40
+ 10:0,target 52
+ 10:296,target 43
+ 25:301,target 19
+ 22:298,target 16
+ 27:257,target 21
+ 53:287,target 34
+ 19:300,target 13
+ 20:300,target 14
+ 16:297,target 10
+ 32:302,target 26
+ 2:298,target 5
+ 28:299,target 22
+ 14:288,target 35
38:0 reduce
35:300 reduce
35:301 reduce
35:302 reduce
- 56:296,target 48
- 26:301,target 14
- 1:273,target 3
- 12:279,target 44
- 12:280,target 44
- 68:0,target 60
+ 26:301,target 20
+ 1:273,target 4
+ 68:0,target 51
35:296 reduce
35:297 reduce
41:257 reduce
+ 23:298,target 17
+ 28:257,target 22
35:298 reduce
- 28:257,target 16
- 23:298,target 11
35:299 reduce
- 37:0,target 25
- 10:271,target 23
- 11:257 shift
- 9:283,target 35
- 21:300,target 9
- 33:302,target 21
+ 37:0,target 31
+ 10:271,target 18
+ 21:300,target 15
+ 66:300,target 47
+ 52:278,target 25
+ 11:261 shift
+ 17:297,target 11
+ 63:297,target 44
+ 33:302,target 27
0:258 shift
0:259 shift
0:261 shift
- 30:299,target 18
- 29:299,target 17
0:262 shift
- 11:0 reduce
+ 29:299,target 23
+ 30:299,target 24
0:263 shift
0:264 shift
- 16:272,target 43
- 1:300,target 3
- 1:290,target 3
- 1:289,target 3
- 12:296,target 44
+ 1:300,target 4
+ 1:290,target 4
+ 1:289,target 4
53:0 reduce
- 27:301,target 15
- 2:273,target 4
- 13:279,target 31
- 13:280,target 32
- 30:257,target 18
- 29:257,target 17
- 24:298,target 12
- 10:287,target 39
+ 27:301,target 21
+ 2:273,target 5
+ 24:298,target 18
+ 29:257,target 23
+ 30:257,target 24
+ 10:287,target 34
0:264,target 6
41:300 reduce
- 9:299,target 51
41:301 reduce
+ 52:295,target 42
41:302 reduce
- 22:300,target 10
- 65:0,target 65
+ 22:300,target 16
+ 53:278,target 25
+ 65:0,target 57
41:296 reduce
- 64:297,target 49
- 64:307,target 69
+ 18:297,target 12
41:297 reduce
- 34:302,target 22
+ 34:302,target 28
46:257 reduce
41:298 reduce
41:299 reduce
- 34:0,target 22
- 9:257,target 48
- 31:299,target 19
- 16:288,target 43
+ 9:257,target 2
+ 34:0,target 28
+ 31:299,target 25
16:257 reduce
0:303 goto
25:0 reduce
- 0:304 goto
- 2:300,target 4
- 2:290,target 4
- 2:289,target 4
- 13:306,target 62
- 13:296,target 48
- 58:296,target 48
- 28:301,target 16
- 14:279,target 31
- 14:280,target 32
- 0:308 goto
+ 2:300,target 5
+ 2:290,target 5
+ 2:289,target 5
+ 0:305 goto
+ 28:301,target 22
+ 14:279,target 26
+ 14:280,target 27
5:257 reduce
- 0:310 goto
0:309 goto
- 16:265 reduce
67:0 reduce
- 31:257,target 19
- 25:298,target 13
- 16:266 reduce
- 16:267 reduce
- 16:268 reduce
- 12:271,target 44
- 16:269 reduce
- 16:270 reduce
- 16:271 reduce
- 16:272 reduce
- 23:300,target 11
- 16:273 reduce
- 16:274 reduce
- 16:275 reduce
- 16:276 reduce
- 16:277 reduce
- 35:302,target 23
- 16:278 reduce
- 9:274,target 26
- 16:279 reduce
- 16:280 reduce
- 16:281 reduce
- 16:282 reduce
- 32:299,target 20
- 16:283 reduce
- 46:300 reduce
- 16:284 reduce
- 46:301 reduce
- 16:285 reduce
- 46:302 reduce
- 16:286 reduce
- 16:287 reduce
- 14:306,target 64
- 14:296,target 48
- 16:288 reduce
- 30:301,target 18
- 29:301,target 17
- 16:289 reduce
- 16:290 reduce
+ 25:298,target 19
+ 31:257,target 25
+ 53:295,target 42
+ 23:300,target 17
+ 19:297,target 13
+ 20:297,target 14
+ 35:302,target 29
+ 52:270,target 17
+ 52:269,target 16
+ 32:299,target 26
+ 14:306,target 58
+ 14:296,target 43
+ 59:296,target 43
16:300 reduce
- 62:0,target 59
- 46:296 reduce
- 16:291 reduce
+ 29:301,target 23
+ 30:301,target 24
+ 62:0,target 55
16:301 reduce
- 46:297 reduce
40:0 reduce
39:0 reduce
- 16:292 reduce
16:302 reduce
52:257 reduce
- 46:298 reduce
- 16:293 reduce
- 46:299 reduce
- 32:257,target 20
- 26:298,target 14
- 16:294 reduce
- 31:0,target 19
- 1:281,target 3
- 12:287,target 44
- 16:295 reduce
+ 26:298,target 20
+ 32:257,target 26
+ 1:281,target 4
+ 31:0,target 25
16:296 reduce
- 13:271,target 23
16:297 reduce
16:298 reduce
22:257 reduce
16:299 reduce
- 24:300,target 12
- 10:278,target 30
- 9:291,target 43
- 9:301,target 53
- 21:297,target 9
- 36:302,target 24
- 6:308,target 13
- 33:299,target 21
- 31:301,target 19
- 12:0 reduce
- 16:279,target 43
- 16:280,target 43
- 1:297,target 3
- 33:257,target 21
- 27:298,target 15
- 2:281,target 4
- 13:287,target 39
+ 24:300,target 18
+ 10:278,target 25
+ 52:270 shift
+ 52:269 shift
+ 21:297,target 15
+ 66:297,target 44
+ 52:271 shift
+ 36:302,target 30
+ 52:286,target 33
+ 52:272 shift
+ 52:273 shift
+ 53:270,target 17
+ 53:269,target 16
+ 52:274 shift
+ 52:275 shift
+ 33:299,target 27
+ 52:276 shift
+ 52:277 shift
+ 52:278 shift
+ 52:280 shift
+ 52:279 shift
+ 52:281 shift
+ 52:282 shift
+ 31:301,target 25
+ 52:283 shift
+ 52:284 shift
+ 52:285 shift
+ 1:297,target 4
+ 52:286 shift
+ 27:298,target 21
+ 33:257,target 27
+ 52:287 shift
+ 2:281,target 5
54:0 reduce
- 14:271,target 23
- 10:295,target 47
- 25:300,target 13
+ 52:288 shift
+ 52:300 shift
+ 52:290 shift
+ 52:289 shift
+ 14:271,target 18
+ 52:301 shift
+ 52:291 shift
+ 52:302 shift
+ 52:292 shift
+ 10:295,target 42
+ 52:293 shift
+ 25:300,target 19
+ 52:294 shift
+ 52:295 shift
22:300 reduce
- 58:0,target 54
+ 58:0,target 48
+ 52:296 shift
22:301 reduce
- 22:297,target 10
+ 52:297 shift
+ 52:307 goto
+ 22:297,target 16
22:302 reduce
57:257 reduce
- 37:302,target 25
- 27:0,target 15
+ 52:298 shift
+ 52:308 goto
+ 37:302,target 31
+ 53:286,target 33
+ 52:299 shift
+ 27:0,target 21
22:296 reduce
- 34:299,target 22
22:297 reduce
- 27:257 reduce
+ 34:299,target 28
22:298 reduce
+ 27:257 reduce
22:299 reduce
- 9:265,target 17
- 16:296,target 43
- 62:296,target 48
- 32:301,target 20
- 2:297,target 4
- 34:257,target 22
- 28:298,target 16
+ 16:296,target 10
+ 32:301,target 26
+ 2:297,target 5
26:0 reduce
- 14:287,target 39
+ 28:298,target 22
+ 34:257,target 28
+ 14:287,target 34
68:0 reduce
- 26:300,target 14
- 1:272,target 3
- 12:278,target 44
+ 26:300,target 20
+ 1:272,target 4
1:0 reduce
- 23:297,target 11
- 38:302,target 26
- 10:269,target 21
- 10:270,target 22
- 35:299,target 23
- 9:282,target 34
+ 23:297,target 17
+ 38:302,target 32
+ 10:269,target 16
+ 10:270,target 17
+ 35:299,target 29
+ 52:277,target 24
+ 17:296,target 11
27:300 reduce
- 55:0,target 49
- 33:301,target 21
+ 63:296,target 43
+ 55:0,target 7
27:301 reduce
+ 33:301,target 27
27:302 reduce
63:257 reduce
- 35:257,target 23
- 30:298,target 18
- 29:298,target 17
- 24:0,target 12
+ 24:0,target 18
+ 29:298,target 23
+ 30:298,target 24
+ 35:257,target 29
27:296 reduce
27:297 reduce
- 33:257 reduce
27:298 reduce
- 16:271,target 43
+ 33:257 reduce
41:0 reduce
27:299 reduce
- 1:288,target 3
- 12:295,target 44
- 27:300,target 15
- 2:272,target 4
- 13:278,target 30
- 24:297,target 12
- 40:302,target 28
- 39:302,target 27
- 10:286,target 38
+ 1:288,target 4
+ 12:305,target 53
+ 27:300,target 21
+ 2:272,target 5
+ 24:297,target 18
+ 40:302,target 34
+ 39:302,target 33
+ 10:286,target 33
0:263,target 5
- 9:298,target 50
- 36:299,target 24
- 64:296,target 48
- 34:301,target 22
- 36:257,target 24
- 31:298,target 19
- 16:287,target 43
- 9:0,target 48
+ 36:299,target 30
+ 52:294,target 41
+ 53:277,target 24
+ 18:296,target 12
+ 34:301,target 28
+ 31:298,target 25
+ 36:257,target 30
+ 63:300 shift
+ 9:0,target 1
13:0 reduce
- 2:288,target 4
- 13:305,target 61
- 13:295,target 47
- 28:300,target 16
+ 63:301 shift
+ 63:302 shift
+ 2:288,target 5
+ 28:300,target 22
+ 14:278,target 25
33:300 reduce
- 14:278,target 30
+ 63:296 shift
55:0 reduce
- 52:0,target 42
+ 52:0,target 61
33:301 reduce
+ 63:297 shift
33:302 reduce
68:257 reduce
- 25:297,target 13
- 41:302,target 29
- 21:0,target 9
+ 63:298 shift
+ 63:308 goto
+ 25:297,target 19
+ 63:299 shift
+ 41:302,target 35
+ 21:0,target 15
33:296 reduce
- 12:269,target 44
- 12:270,target 44
33:297 reduce
38:257 reduce
- 37:299,target 25
+ 37:299,target 31
33:298 reduce
+ 53:294,target 41
33:299 reduce
- 35:301,target 23
- 9:273,target 25
- 37:257,target 25
- 32:298,target 20
- 14:295,target 47
- 30:300,target 18
- 29:300,target 17
+ 19:296,target 13
+ 20:296,target 14
+ 35:301,target 29
+ 37:257,target 31
+ 32:298,target 26
+ 14:295,target 42
27:0 reduce
- 26:297,target 14
- 42:302,target 30
- 1:280,target 3
- 1:279,target 3
- 12:286,target 44
+ 29:300,target 23
+ 30:300,target 24
+ 26:297,target 20
+ 42:302,target 36
+ 1:280,target 4
+ 1:279,target 4
+ 70:0 reduce
69:0 reduce
- 13:269,target 21
- 13:270,target 22
- 38:299,target 26
+ 38:299,target 32
2:0 reduce
- 10:277,target 29
+ 10:277,target 24
38:300 reduce
- 48:0,target 36
+ 11:261,target 52
+ 48:0,target 40
38:301 reduce
- 9:289,target 41
- 9:290,target 42
- 9:300,target 52
- 21:296,target 9
+ 21:296,target 15
+ 66:296,target 43
38:302 reduce
- 36:301,target 24
- 17:0,target 5
+ 36:301,target 30
+ 52:285,target 32
+ 53:268,target 57
+ 17:0,target 11
38:296 reduce
- 38:257,target 26
- 33:298,target 21
+ 38:257,target 32
+ 33:298,target 27
38:297 reduce
44:257 reduce
38:298 reduce
38:299 reduce
- 31:300,target 19
+ 31:300,target 25
14:257 reduce
- 16:278,target 43
- 1:296,target 3
+ 1:296,target 4
42:0 reduce
- 27:297,target 15
- 43:302,target 31
- 2:280,target 4
- 2:279,target 4
- 13:286,target 38
- 14:269,target 21
- 14:270,target 22
- 40:299,target 28
- 39:299,target 27
- 10:294,target 46
+ 27:297,target 21
+ 2:280,target 5
+ 2:279,target 5
+ 14:269,target 16
+ 14:270,target 17
+ 14:265 shift
+ 40:299,target 34
+ 39:299,target 33
+ 10:294,target 41
+ 14:266 shift
3:261 shift
+ 14:267 shift
+ 14:268 shift
14:269 shift
14:270 shift
14:271 shift
14:272 shift
- 22:296,target 10
- 37:301,target 25
+ 22:296,target 16
+ 37:301,target 31
14:273 shift
+ 53:285,target 32
14:274 shift
14:275 shift
14:276 shift
- 40:257,target 28
- 39:257,target 27
- 34:298,target 22
+ 40:257,target 34
+ 39:257,target 33
14:277 shift
+ 34:298,target 28
14:278 shift
14:279 shift
14:280 shift
14:281 shift
14:282 shift
14:283 shift
- 16:295,target 43
- 44:300 reduce
- 32:300,target 20
14:284 shift
- 45:0,target 33
- 44:301 reduce
+ 32:300,target 26
+ 45:0,target 41
14:285 shift
- 44:302 reduce
14:0 reduce
14:286 shift
- 2:296,target 4
+ 2:296,target 5
14:287 shift
- 28:297,target 16
14:288 shift
- 44:302,target 32
- 14:0,target 62
- 14:286,target 38
+ 28:297,target 22
+ 14:0,target 47
+ 14:286,target 33
14:289 shift
14:290 shift
14:300 shift
- 44:296 reduce
14:291 shift
14:301 shift
- 44:297 reduce
14:292 shift
14:302 shift
56:0 reduce
50:257 reduce
49:257 reduce
- 44:298 reduce
14:293 shift
- 44:299 reduce
- 41:299,target 29
+ 41:299,target 35
14:294 shift
14:295 shift
- 1:271,target 3
- 12:277,target 44
+ 1:271,target 4
14:306 goto
14:296 shift
14:307 goto
14:297 shift
+ 14:308 goto
14:298 shift
19:257 reduce
20:257 reduce
14:299 shift
- 23:296,target 11
- 38:301,target 26
- 41:257,target 29
- 35:298,target 23
+ 23:296,target 17
+ 38:301,target 32
+ 41:257,target 35
+ 35:298,target 29
8:258 shift
- 9:281,target 33
8:259 shift
- 33:300,target 21
- 30:297,target 18
- 29:297,target 17
- 45:302,target 33
+ 52:276,target 23
+ 33:300,target 27
+ 29:297,target 23
+ 30:297,target 24
28:0 reduce
- 16:269,target 43
- 16:270,target 43
- 42:299,target 30
- 1:287,target 3
- 12:294,target 44
- 2:271,target 4
- 13:277,target 29
- 42:0,target 30
- 24:296,target 12
- 40:301,target 28
- 39:301,target 27
- 10:285,target 37
+ 42:299,target 36
+ 1:287,target 4
+ 2:271,target 5
+ 50:300 shift
+ 50:301 shift
+ 42:0,target 36
+ 50:302 shift
+ 24:296,target 18
+ 40:301,target 34
+ 39:301,target 33
+ 10:285,target 32
0:262,target 4
- 11:0,target 1
- 9:307,target 57
- 9:297,target 49
- 42:257,target 30
- 36:298,target 24
+ 19:300 reduce
+ 20:300 reduce
+ 50:296 shift
+ 19:301 reduce
+ 20:301 reduce
+ 50:297 shift
+ 42:257,target 36
+ 19:302 reduce
+ 20:302 reduce
+ 36:298,target 30
55:257 reduce
- 34:300,target 22
+ 52:293,target 40
+ 50:298 shift
+ 50:308 goto
+ 50:299 shift
+ 53:276,target 23
+ 19:296 reduce
+ 20:296 reduce
+ 19:297 reduce
+ 20:297 reduce
+ 19:298 reduce
+ 20:298 reduce
25:257 reduce
- 8:304 goto
- 31:297,target 19
- 46:302,target 34
- 16:286,target 43
- 43:299,target 31
- 2:287,target 4
- 13:294,target 46
+ 34:300,target 28
+ 19:299 reduce
+ 20:299 reduce
+ 8:305 goto
+ 31:297,target 25
+ 2:287,target 5
43:0 reduce
- 14:277,target 29
- 25:296,target 13
- 41:301,target 29
- 43:257,target 31
- 37:298,target 25
+ 14:277,target 24
+ 25:296,target 19
+ 41:301,target 35
+ 43:257,target 37
+ 37:298,target 31
+ 53:293,target 40
+ 70:0,target 60
69:0,target 64
- 38:0,target 26
- 35:300,target 23
- 9:272,target 24
- 32:297,target 20
+ 38:0,target 32
+ 35:300,target 29
25:300 reduce
- 47:302,target 35
+ 32:297,target 26
25:301 reduce
25:302 reduce
- 61:257 reduce
- 15:0 reduce
- 44:299,target 32
- 14:294,target 46
+ 14:294,target 41
25:296 reduce
25:297 reduce
- 31:257 reduce
25:298 reduce
+ 31:257 reduce
+ 0:305,target 8
25:299 reduce
57:0 reduce
- 26:296,target 14
- 42:301,target 30
- 1:278,target 3
- 12:285,target 44
- 13:268,target 20
- 44:257,target 32
- 38:298,target 26
- 10:276,target 28
- 9:288,target 40
- 36:300,target 24
- 33:297,target 21
- 66:0,target 51
- 45:299,target 33
- 16:277,target 43
- 35:0,target 23
- 30:0 reduce
+ 26:296,target 20
+ 42:301,target 36
+ 1:278,target 4
+ 44:257,target 39
+ 38:298,target 32
+ 10:276,target 23
+ 36:300,target 30
+ 52:284,target 31
+ 53:267,target 56
+ 33:297,target 27
+ 66:0,target 58
29:0 reduce
- 1:295,target 3
- 27:296,target 15
- 43:301,target 31
- 2:278,target 4
- 13:285,target 37
+ 30:0 reduce
+ 35:0,target 29
+ 1:295,target 4
+ 27:296,target 21
+ 2:278,target 5
31:300 reduce
+ 14:268,target 57
31:301 reduce
31:302 reduce
66:257 reduce
- 45:257,target 33
- 40:298,target 28
- 39:298,target 27
- 10:293,target 45
+ 45:257,target 41
+ 40:298,target 34
+ 39:298,target 33
+ 10:293,target 40
4:0 reduce
31:296 reduce
+ 12:259,target 2
31:297 reduce
- 36:257 reduce
31:298 reduce
- 37:300,target 25
+ 36:257 reduce
+ 37:300,target 31
31:299 reduce
- 34:297,target 22
- 46:299,target 34
- 16:294,target 43
- 2:295,target 4
- 28:296,target 16
- 44:301,target 32
- 14:285,target 37
+ 53:284,target 31
+ 34:297,target 28
+ 50:302,target 49
+ 2:295,target 5
+ 28:296,target 22
+ 14:285,target 32
44:0 reduce
- 46:257,target 34
- 41:298,target 29
- 63:0,target 61
- 1:269,target 3
- 1:270,target 3
- 12:276,target 44
- 32:0,target 20
- 38:300,target 26
+ 46:257,target 42
+ 41:298,target 35
+ 63:0,target 62
+ 1:269,target 4
+ 1:270,target 4
+ 66:300 shift
+ 66:301 shift
+ 32:0,target 26
+ 66:302 shift
+ 38:300,target 32
36:300 reduce
+ 66:296 shift
36:301 reduce
- 35:297,target 23
+ 35:297,target 29
+ 66:297 shift
36:302 reduce
- 9:279,target 31
- 9:280,target 32
- 47:299,target 35
+ 66:298 shift
+ 66:308 goto
+ 66:299 shift
+ 52:275,target 22
36:296 reduce
36:297 reduce
42:257 reduce
36:298 reduce
36:299 reduce
- 30:296,target 18
- 29:296,target 17
16:0 reduce
- 45:301,target 33
- 12:257 reduce
- 16:268,target 43
- 47:257,target 35
- 42:298,target 30
- 1:286,target 3
- 12:293,target 44
+ 29:296,target 23
+ 30:296,target 24
+ 12:258 shift
+ 12:259 shift
+ 47:257,target 43
+ 42:298,target 36
+ 1:286,target 4
58:0 reduce
- 2:270,target 4
- 2:269,target 4
- 13:276,target 28
+ 2:270,target 5
+ 2:269,target 5
1:257 reduce
1:258 reduce
1:259 reduce
- 40:300,target 28
- 39:300,target 27
- 10:284,target 36
+ 40:300,target 34
+ 39:300,target 33
+ 10:284,target 31
0:261,target 3
- 12:269 reduce
- 12:270 reduce
- 9:306,target 56
- 9:296,target 48
- 12:271 reduce
- 36:297,target 24
1:265 reduce
- 12:272 reduce
+ 36:297,target 30
+ 52:302,target 49
+ 52:292,target 39
1:266 reduce
- 12:273 reduce
1:267 reduce
- 12:274 reduce
- 60:0,target 2
- 59:0,target 56
+ 60:0,target 50
+ 59:0,target 49
+ 53:275,target 22
1:268 reduce
- 12:275 reduce
1:269 reduce
1:270 reduce
- 12:276 reduce
1:271 reduce
- 12:277 reduce
1:272 reduce
- 12:278 reduce
- 28:0,target 16
1:273 reduce
- 12:279 reduce
- 12:280 reduce
+ 28:0,target 22
1:274 reduce
- 12:281 reduce
1:275 reduce
- 12:282 reduce
- 31:296,target 19
1:276 reduce
- 12:283 reduce
- 46:301,target 34
+ 31:296,target 25
42:300 reduce
1:277 reduce
- 12:284 reduce
- 16:285,target 43
42:301 reduce
1:278 reduce
- 12:285 reduce
42:302 reduce
1:280 reduce
1:279 reduce
- 12:286 reduce
- 31:0 reduce
1:281 reduce
- 12:287 reduce
- 48:257,target 36
- 43:298,target 31
- 2:286,target 4
+ 31:0 reduce
+ 48:257,target 40
+ 2:286,target 5
1:282 reduce
- 12:288 reduce
- 13:293,target 45
1:283 reduce
- 12:289 reduce
- 12:290 reduce
- 12:300 reduce
42:296 reduce
1:284 reduce
- 12:291 reduce
- 12:301 reduce
- 14:276,target 28
+ 14:276,target 23
42:297 reduce
1:285 reduce
- 12:292 reduce
- 12:302 reduce
47:257 reduce
42:298 reduce
1:286 reduce
- 12:293 reduce
42:299 reduce
1:287 reduce
- 12:294 reduce
- 41:300,target 29
+ 41:300,target 35
1:288 reduce
- 12:295 reduce
+ 12:305 goto
1:300 reduce
1:290 reduce
1:289 reduce
- 12:296 reduce
1:301 reduce
1:291 reduce
5:0 reduce
- 12:297 reduce
1:302 reduce
1:292 reduce
- 12:298 reduce
17:257 reduce
- 37:297,target 25
+ 37:297,target 31
1:293 reduce
- 12:299 reduce
+ 53:302,target 49
+ 53:292,target 39
1:294 reduce
1:295 reduce
1:296 reduce
1:297 reduce
+ 50:299,target 46
1:298 reduce
1:299 reduce
6:258 shift
6:259 shift
- 9:271,target 23
6:261 shift
- 32:296,target 20
- 47:301,target 35
- 56:0,target 50
- 50:257,target 40
+ 32:296,target 26
+ 56:0,target 8
+ 50:257,target 53
49:257,target 38
- 44:298,target 32
- 14:293,target 45
+ 14:293,target 40
45:0 reduce
- 25:0,target 13
- 0:304,target 8
- 42:300,target 30
- 1:277,target 3
- 12:284,target 44
- 47:300 reduce
- 13:267,target 19
- 47:301 reduce
- 47:302 reduce
- 38:297,target 26
- 10:275,target 27
- 47:296 reduce
- 47:297 reduce
- 9:287,target 39
+ 25:0,target 19
+ 42:300,target 36
+ 1:277,target 4
+ 38:297,target 32
+ 10:275,target 22
+ 17:300 reduce
+ 17:301 reduce
+ 17:302 reduce
53:257 reduce
- 47:298 reduce
- 47:299 reduce
- 33:296,target 21
+ 52:283,target 30
+ 53:266,target 55
+ 6:305,target 12
+ 17:296 reduce
+ 17:297 reduce
+ 33:296,target 27
+ 17:298 reduce
23:257 reduce
- 6:304 goto
- 51:257,target 41
- 45:298,target 33
+ 17:299 reduce
+ 53:265 shift
+ 53:266 shift
+ 6:305 goto
+ 53:267 shift
+ 51:257,target 54
+ 53:268 shift
17:0 reduce
- 6:308 goto
- 16:276,target 43
- 6:309 goto
- 1:294,target 3
- 6:311 goto
- 43:300,target 31
- 2:277,target 4
- 13:284,target 36
+ 53:270 shift
+ 53:269 shift
+ 53:271 shift
+ 6:310 goto
+ 53:272 shift
+ 1:294,target 4
+ 53:273 shift
+ 53:274 shift
+ 2:277,target 5
60:0 reduce
59:0 reduce
- 3:261,target 12
- 40:297,target 28
- 39:297,target 27
- 10:292,target 44
- 10:302,target 54
- 53:0,target 39
- 22:0,target 10
- 34:296,target 22
- 52:257,target 42
- 46:298,target 34
+ 53:275 shift
+ 53:276 shift
+ 3:261,target 10
+ 14:267,target 56
+ 53:277 shift
+ 53:278 shift
+ 40:297,target 34
+ 39:297,target 33
+ 10:292,target 39
+ 10:302,target 49
+ 53:280 shift
+ 53:279 shift
+ 53:281 shift
+ 53:0,target 56
+ 53:282 shift
+ 53:283 shift
+ 12:258,target 1
+ 53:284 shift
+ 52:299,target 46
+ 53:285 shift
+ 22:0,target 16
+ 53:286 shift
+ 53:283,target 30
+ 53:287 shift
+ 53:288 shift
+ 53:300 shift
+ 53:290 shift
+ 53:289 shift
+ 34:296,target 28
+ 53:301 shift
+ 53:291 shift
+ 50:301,target 48
+ 53:302 shift
+ 53:292 shift
+ 53:293 shift
+ 53:294 shift
+ 53:295 shift
+ 52:257,target 61
23:300 reduce
- 16:293,target 43
+ 53:296 shift
+ 53:306 goto
23:301 reduce
+ 53:297 shift
+ 53:307 goto
23:302 reduce
58:257 reduce
- 2:294,target 4
+ 53:298 shift
+ 53:308 goto
+ 53:299 shift
+ 2:294,target 5
32:0 reduce
- 44:300,target 32
- 14:284,target 36
+ 14:284,target 31
23:296 reduce
23:297 reduce
- 28:257 reduce
23:298 reduce
+ 28:257 reduce
23:299 reduce
- 41:297,target 29
- 56:302,target 54
- 1:268,target 3
- 12:275,target 44
+ 41:297,target 35
+ 1:268,target 4
+ 53:299,target 46
7:0,target 0
- 35:296,target 23
- 9:278,target 30
- 50:0,target 40
+ 8:305,target 14
+ 35:296,target 29
+ 52:274,target 21
+ 50:0,target 53
49:0,target 38
- 53:257,target 39
- 47:298,target 35
- 18:0,target 6
- 45:300,target 33
- 58:300 shift
- 58:301 shift
- 16:267,target 43
- 58:302 shift
+ 53:257,target 56
+ 18:0,target 12
46:0 reduce
- 42:297,target 30
- 1:285,target 3
- 12:292,target 44
- 12:302,target 44
+ 42:297,target 36
+ 1:285,target 4
+ 2:268,target 5
28:300 reduce
- 2:268,target 4
- 13:275,target 27
- 58:296 shift
28:301 reduce
- 58:297 shift
- 58:307 goto
28:302 reduce
64:257 reduce
- 58:298 shift
- 58:299 shift
- 10:283,target 35
- 28:296 reduce
+ 10:283,target 30
0:259,target 2
+ 28:296 reduce
28:297 reduce
- 9:305,target 55
- 9:295,target 47
- 36:296,target 24
- 34:257 reduce
28:298 reduce
+ 34:257 reduce
+ 36:296,target 30
+ 52:301,target 48
+ 52:291,target 38
28:299 reduce
- 54:257,target 37
- 4:0,target 46
- 46:300,target 34
- 16:284,target 43
+ 53:274,target 21
+ 54:257,target 6
+ 4:0,target 45
18:0 reduce
- 6:261,target 3
- 43:297,target 31
- 2:285,target 4
- 13:292,target 44
- 13:302,target 54
- 58:302,target 54
- 46:0,target 34
- 14:275,target 27
+ 6:261,target 11
+ 2:285,target 5
+ 46:0,target 42
+ 14:275,target 22
61:0 reduce
- 10:299,target 51
- 15:0,target 47
- 1:259,target 3
- 64:300 shift
- 64:301 shift
- 37:296,target 25
- 64:302 shift
+ 10:299,target 46
+ 1:259,target 4
+ 37:296,target 31
+ 53:301,target 48
+ 53:291,target 38
+ 10:257,target 52
34:300 reduce
- 10:257,target 53
- 64:296 shift
- 55:257,target 49
+ 55:257,target 7
+ 50:298,target 45
+ 50:308,target 62
34:301 reduce
- 64:297 shift
- 64:307 goto
34:302 reduce
+ 70:257 reduce
69:257 reduce
- 64:298 shift
- 9:269,target 21
- 9:270,target 22
- 64:299 shift
34:296 reduce
- 47:300,target 35
34:297 reduce
40:257 reduce
39:257 reduce
34:298 reduce
34:299 reduce
- 44:297,target 32
- 14:292,target 44
- 14:302,target 54
+ 14:292,target 39
+ 14:302,target 49
+ 59:302,target 49
33:0 reduce
10:257 reduce
0:303,target 7
- 56:299,target 51
- 1:276,target 3
- 12:283,target 44
- 1:0,target 3
- 2:259,target 4
- 13:266,target 18
- 38:296,target 26
+ 1:276,target 4
+ 1:0,target 4
+ 2:259,target 5
+ 38:296,target 32
7:0 accept
- 10:274,target 26
- 43:0,target 31
+ 10:274,target 21
+ 43:0,target 37
10:269 shift
10:270 shift
10:271 shift
- 11:257,target 60
- 56:257,target 50
- 9:286,target 38
+ 56:257,target 8
10:272 shift
10:273 shift
+ 52:282,target 29
10:274 shift
- 12:0,target 44
10:275 shift
- 6:304,target 8
+ 53:265,target 54
10:276 shift
10:277 shift
10:278 shift
@@ -1296,7 +1172,6 @@ array set pan::table {
10:280 shift
10:281 shift
10:282 shift
- 45:297,target 33
10:283 shift
40:300 reduce
39:300 reduce
@@ -1304,20 +1179,17 @@ array set pan::table {
40:301 reduce
39:301 reduce
10:285 shift
- 16:275,target 43
40:302 reduce
39:302 reduce
10:286 shift
- 1:293,target 3
+ 1:293,target 4
10:287 shift
- 12:299,target 44
47:0 reduce
10:288 shift
- 2:276,target 4
+ 2:276,target 5
10:289 shift
10:290 shift
10:300 shift
- 13:283,target 35
40:296 reduce
39:296 reduce
10:291 shift
@@ -1326,200 +1198,175 @@ array set pan::table {
39:297 reduce
10:292 shift
10:302 shift
+ 14:266,target 55
45:257 reduce
40:298 reduce
39:298 reduce
10:293 shift
40:299 reduce
- 40:296,target 28
+ 40:296,target 34
39:299 reduce
- 39:296,target 27
- 10:291,target 43
+ 39:296,target 33
+ 10:291,target 38
10:294 shift
- 10:301,target 53
+ 10:301,target 48
10:295 shift
- 10:306 goto
10:296 shift
10:307 goto
10:297 shift
+ 10:308 goto
10:298 shift
- 12:257,target 44
- 15:257 reduce
- 57:257,target 52
+ 15:257 shift
+ 57:257,target 9
+ 52:298,target 45
+ 52:308,target 64
10:299 shift
+ 53:282,target 29
4:257 reduce
- 46:297,target 34
- 40:0,target 28
- 39:0,target 27
- 16:292,target 43
- 16:302,target 43
- 62:302,target 54
+ 50:300,target 47
+ 40:0,target 34
+ 39:0,target 33
+ 16:302,target 10
19:0 reduce
20:0 reduce
- 2:293,target 4
- 13:299,target 51
- 58:299,target 51
- 14:283,target 35
+ 2:293,target 5
+ 14:283,target 30
62:0 reduce
- 41:296,target 29
- 56:301,target 53
- 1:267,target 3
- 12:274,target 44
- 45:300 reduce
- 45:301 reduce
- 13:257,target 57
- 58:257,target 54
- 45:302 reduce
- 45:296 reduce
- 8:304,target 16
- 45:297 reduce
+ 41:296,target 35
+ 1:267,target 4
+ 13:257,target 46
+ 58:257,target 48
+ 53:298,target 45
+ 53:308,target 67
51:257 reduce
- 45:298 reduce
- 9:277,target 29
- 45:299 reduce
- 47:297,target 35
+ 52:273,target 20
+ 17:302,target 11
+ 63:302,target 49
21:257 reduce
- 14:299,target 51
- 34:0 reduce
+ 14:299,target 46
+ 59:299,target 46
9:257 reduce
- 67:0,target 55
- 16:266,target 43
- 42:296,target 30
- 1:284,target 3
- 12:291,target 44
- 12:301,target 44
- 36:0,target 24
- 2:267,target 4
- 13:274,target 26
- 9:265 shift
- 14:257,target 62
- 59:257,target 56
- 9:266 shift
- 9:267 shift
- 10:282,target 34
- 9:268 shift
+ 34:0 reduce
+ 67:0,target 59
+ 42:296,target 36
+ 1:284,target 4
+ 2:267,target 5
+ 36:0,target 30
+ 14:257,target 47
+ 60:257,target 50
+ 59:257,target 49
+ 10:282,target 29
0:258,target 1
- 9:269 shift
- 9:270 shift
- 9:271 shift
- 9:294,target 46
- 9:272 shift
- 9:273 shift
- 9:274 shift
- 9:275 shift
- 9:276 shift
- 9:277 shift
- 64:302,target 54
- 9:278 shift
- 9:279 shift
- 9:280 shift
- 9:281 shift
- 9:282 shift
+ 9:304,target 15
+ 52:300,target 47
+ 52:290,target 37
+ 52:289,target 36
+ 53:273,target 20
+ 18:302,target 12
}
array set pan::rules {
9,l 306
- 11,l 306
- 32,l 306
- 53,l 310
- 6,l 305
- 28,l 306
- 50,l 310
- 49,l 310
- 3,l 304
- 25,l 306
- 46,l 310
- 0,l 312
- 22,l 306
+ 11,l 307
+ 32,l 307
+ 53,l 309
+ 6,l 306
+ 28,l 307
+ 50,l 309
+ 49,l 309
+ 3,l 303
+ 25,l 307
+ 46,l 309
+ 0,l 311
+ 22,l 307
43,l 308
- 64,l 311
- 18,l 306
- 40,l 307
- 39,l 307
- 61,l 311
- 15,l 306
+ 64,l 310
+ 18,l 307
+ 40,l 308
+ 39,l 308
+ 61,l 310
+ 15,l 307
36,l 307
- 57,l 311
- 12,l 306
- 33,l 306
- 54,l 310
- 7,l 305
- 29,l 306
- 30,l 306
- 51,l 310
- 4,l 304
- 26,l 306
- 47,l 310
+ 57,l 310
+ 12,l 307
+ 33,l 307
+ 54,l 309
+ 7,l 306
+ 29,l 307
+ 30,l 307
+ 51,l 309
+ 4,l 305
+ 26,l 307
+ 47,l 309
1,l 303
- 23,l 306
+ 23,l 307
44,l 309
- 65,l 311
- 19,l 306
- 20,l 306
- 41,l 307
- 62,l 311
- 16,l 306
- 37,l 307
- 58,l 311
- 13,l 306
- 34,l 306
- 55,l 310
- 8,l 305
- 10,l 306
- 31,l 306
- 52,l 310
+ 19,l 307
+ 20,l 307
+ 41,l 308
+ 62,l 310
+ 16,l 307
+ 37,l 308
+ 58,l 310
+ 13,l 307
+ 34,l 307
+ 55,l 309
+ 8,l 306
+ 10,l 307
+ 31,l 307
+ 52,l 309
5,l 305
- 27,l 306
- 48,l 310
- 2,l 303
- 24,l 306
- 45,l 310
- 21,l 306
- 42,l 307
- 63,l 311
- 17,l 306
- 38,l 307
- 60,l 311
- 59,l 311
- 14,l 306
- 35,l 306
+ 27,l 307
+ 48,l 309
+ 2,l 304
+ 24,l 307
+ 45,l 309
+ 21,l 307
+ 42,l 308
+ 63,l 310
+ 17,l 307
+ 38,l 308
+ 60,l 310
+ 59,l 310
+ 14,l 307
+ 35,l 307
56,l 310
}
array set pan::rules {
- 63,dc 2
+ 63,dc 3
12,dc 1
26,dc 1
- 3,dc 1
+ 3,dc 3
41,dc 1
- 55,dc 3
+ 55,dc 4
18,dc 1
33,dc 1
9,dc 1
47,dc 2
- 62,dc 1
+ 62,dc 3
11,dc 1
25,dc 1
- 2,dc 2
+ 2,dc 0
40,dc 1
39,dc 1
- 54,dc 2
+ 54,dc 3
17,dc 1
32,dc 1
8,dc 1
- 46,dc 1
+ 46,dc 2
61,dc 2
10,dc 1
24,dc 1
1,dc 1
38,dc 1
- 53,dc 1
+ 53,dc 3
16,dc 1
31,dc 1
7,dc 1
45,dc 1
- 60,dc 3
- 59,dc 2
+ 60,dc 4
+ 59,dc 3
23,dc 1
0,dc 1
37,dc 1
@@ -1528,22 +1375,21 @@ array set pan::rules {
29,dc 1
30,dc 1
6,dc 1
- 44,dc 2
- 58,dc 2
+ 44,dc 1
+ 58,dc 3
22,dc 1
36,dc 1
- 51,dc 3
- 65,dc 2
+ 51,dc 4
14,dc 1
28,dc 1
5,dc 1
- 43,dc 2
- 57,dc 1
+ 43,dc 1
+ 57,dc 3
21,dc 1
35,dc 1
- 50,dc 2
- 49,dc 2
- 64,dc 3
+ 50,dc 3
+ 49,dc 3
+ 64,dc 4
13,dc 1
27,dc 1
4,dc 1
@@ -1552,75 +1398,75 @@ array set pan::rules {
19,dc 1
20,dc 1
34,dc 1
- 48,dc 1
+ 48,dc 3
}
array set pan::rules {
- 41,line 123
- 7,line 75
- 37,line 119
- 4,line 70
- 34,line 109
- 1,line 65
- 31,line 106
- 27,line 102
- 24,line 99
- 21,line 96
- 17,line 92
- 14,line 89
- 11,line 86
- 63,line 158
- 60,line 155
- 59,line 154
- 56,line 149
- 53,line 146
- 50,line 143
- 49,line 142
- 46,line 139
- 43,line 132
- 9,line 84
- 40,line 122
- 39,line 121
- 6,line 74
- 36,line 118
- 3,line 69
- 33,line 108
- 29,line 104
- 30,line 105
- 26,line 101
- 23,line 98
- 19,line 94
- 20,line 95
- 16,line 91
- 13,line 88
- 10,line 85
- 65,line 160
- 62,line 157
- 58,line 153
- 55,line 148
- 52,line 145
- 48,line 141
- 45,line 138
- 42,line 124
- 8,line 76
- 38,line 120
- 5,line 73
- 35,line 110
- 2,line 66
- 32,line 107
- 28,line 103
- 25,line 100
- 22,line 97
- 18,line 93
- 15,line 90
- 12,line 87
- 64,line 159
- 61,line 156
- 57,line 152
- 54,line 147
- 51,line 144
- 47,line 140
- 44,line 135
+ 41,line 118
+ 7,line 70
+ 37,line 114
+ 4,line 65
+ 34,line 104
+ 1,line 61
+ 31,line 101
+ 27,line 97
+ 24,line 94
+ 21,line 91
+ 17,line 87
+ 14,line 84
+ 11,line 81
+ 63,line 149
+ 60,line 146
+ 59,line 145
+ 56,line 142
+ 53,line 137
+ 50,line 134
+ 49,line 133
+ 46,line 130
+ 43,line 120
+ 9,line 72
+ 40,line 117
+ 39,line 116
+ 6,line 69
+ 36,line 106
+ 3,line 62
+ 33,line 103
+ 29,line 99
+ 30,line 100
+ 26,line 96
+ 23,line 93
+ 19,line 89
+ 20,line 90
+ 16,line 86
+ 13,line 83
+ 10,line 80
+ 62,line 148
+ 58,line 144
+ 55,line 139
+ 52,line 136
+ 48,line 132
+ 45,line 129
+ 42,line 119
+ 8,line 71
+ 38,line 115
+ 5,line 66
+ 35,line 105
+ 2,line 61
+ 32,line 102
+ 28,line 98
+ 2,e 1
+ 25,line 95
+ 22,line 92
+ 18,line 88
+ 15,line 85
+ 12,line 82
+ 64,line 150
+ 61,line 147
+ 57,line 143
+ 54,line 138
+ 51,line 135
+ 47,line 131
+ 44,line 128
}
proc pan::yyparse {} {
@@ -1691,69 +1537,67 @@ proc pan::yyparse {} {
set _ $1
set yylval [lindex $value_stack end]
switch -- $rule {
- 2 { pan::yyclearin }
- 3 { set _ $1 }
+ 2 { pan::yyclearin; YYACCEPT }
4 { set _ $1 }
- 5 { set _ image }
- 6 { set _ physical }
- 7 { set _ amplifier }
- 8 { set _ detector }
- 9 { set _ wcs }
- 10 { set _ wcsa }
- 11 { set _ wcsb }
- 12 { set _ wcsc }
- 13 { set _ wcsd }
- 14 { set _ wcse }
- 15 { set _ wcsf }
- 16 { set _ wcsg }
- 17 { set _ wcsh }
- 18 { set _ wcsi }
- 19 { set _ wcsj }
- 20 { set _ wcsk }
- 21 { set _ wcsl }
- 22 { set _ wcsm }
- 23 { set _ wcsn }
- 24 { set _ wcso }
- 25 { set _ wcsp }
- 26 { set _ wcsq }
- 27 { set _ wcsr }
- 28 { set _ wcss }
- 29 { set _ wcst }
- 30 { set _ wcsu }
- 31 { set _ wcsv }
- 32 { set _ wcsw }
- 33 { set _ wcsx }
- 34 { set _ wcsy }
- 35 { set _ wcsz }
- 36 { set _ fk4 }
+ 5 { set _ $1 }
+ 6 { set _ image }
+ 7 { set _ physical }
+ 8 { set _ amplifier }
+ 9 { set _ detector }
+ 10 { set _ wcs }
+ 11 { set _ wcsa }
+ 12 { set _ wcsb }
+ 13 { set _ wcsc }
+ 14 { set _ wcsd }
+ 15 { set _ wcse }
+ 16 { set _ wcsf }
+ 17 { set _ wcsg }
+ 18 { set _ wcsh }
+ 19 { set _ wcsi }
+ 20 { set _ wcsj }
+ 21 { set _ wcsk }
+ 22 { set _ wcsl }
+ 23 { set _ wcsm }
+ 24 { set _ wcsn }
+ 25 { set _ wcso }
+ 26 { set _ wcsp }
+ 27 { set _ wcsq }
+ 28 { set _ wcsr }
+ 29 { set _ wcss }
+ 30 { set _ wcst }
+ 31 { set _ wcsu }
+ 32 { set _ wcsv }
+ 33 { set _ wcsw }
+ 34 { set _ wcsx }
+ 35 { set _ wcsy }
+ 36 { set _ wcsz }
37 { set _ fk4 }
- 38 { set _ fk5 }
+ 38 { set _ fk4 }
39 { set _ fk5 }
- 40 { set _ icrs }
- 41 { set _ galactic }
- 42 { set _ ecliptic }
- 43 { set pan::xx $1; set pan::yy $2 }
- 44 { set pan::xx $1; set pan::yy $2 }
- 45 { PanZoomDialog }
- 46 { PanZoomDestroyDialog }
- 48 { Pan $pan::xx $pan::yy physical }
- 49 { Pan $pan::xx $pan::yy $2 }
- 50 { Pan $pan::xx $pan::yy $2 fk5 }
- 51 { Pan $pan::xx $pan::yy $2 $3 }
- 52 { Pan $pan::xx $pan::yy wcs $3 }
- 53 { Pan $pan::xx $pan::yy wcs fk5 }
- 54 { Pan $pan::xx $pan::yy $2 fk5 }
- 55 { Pan $pan::xx $pan::yy $2 $3 }
- 56 { Pan $pan::xx $pan::yy wcs $2 }
- 57 { PanTo $pan::xx $pan::yy physical }
- 58 { PanTo $pan::xx $pan::yy $2 }
- 59 { PanTo $pan::xx $pan::yy $2 fk5 }
- 60 { PanTo $pan::xx $pan::yy $2 $3 }
- 61 { PanTo $pan::xx $pan::yy wcs $3 }
- 62 { PanTo $pan::xx $pan::yy wcs fk5 }
- 63 { PanTo $pan::xx $pan::yy $2 fk5 }
- 64 { PanTo $pan::xx $pan::yy $2 $3 }
- 65 { PanTo $pan::xx $pan::yy wcs $2 }
+ 40 { set _ fk5 }
+ 41 { set _ icrs }
+ 42 { set _ galactic }
+ 43 { set _ ecliptic }
+ 44 { PanZoomDialog }
+ 45 { PanZoomDestroyDialog }
+ 47 { Pan $1 $2 physical }
+ 48 { Pan $1 $2 $3 }
+ 49 { Pan $1 $2 $3 fk5 }
+ 50 { Pan $1 $2 wcs $3 }
+ 51 { Pan $1 $2 $3 $4 }
+ 52 { Pan $1 $2 wcs fk5 }
+ 53 { Pan $1 $2 $3 fk5 }
+ 54 { Pan $1 $2 wcs $3 }
+ 55 { Pan $1 $2 $3 $4 }
+ 56 { PanTo $1 $2 physical }
+ 57 { PanTo $1 $2 $3 }
+ 58 { PanTo $1 $2 $3 fk5 }
+ 59 { PanTo $1 $2 wcs $3 }
+ 60 { PanTo $1 $2 $3 $4 }
+ 61 { PanTo $1 $2 wcs fk5 }
+ 62 { PanTo $1 $2 $3 fk5 }
+ 63 { PanTo $1 $2 wcs $3 }
+ 64 { PanTo $1 $2 $3 $4 }
}
unsetupvalues $dc
# pop off tokens from the stack if normal rule
diff --git a/ds9/library/zoomparser.tcl b/ds9/library/zoomparser.tcl
index d744e4c..91735b4 100644
--- a/ds9/library/zoomparser.tcl
+++ b/ds9/library/zoomparser.tcl
@@ -53,14 +53,14 @@ proc zoom::unsetupvalues {numsyms} {
}
array set zoom::table {
+ 15:259 shift
0:257 shift
0:258 shift
0:260 shift
2:257 reduce
- 5:0,target 7
- 15:0,target 2
+ 5:0,target 8
9:0 reduce
- 6:259,target 10
+ 6:259,target 11
0:261 shift
0:266,target 8
2:258 reduce
@@ -68,113 +68,118 @@ array set zoom::table {
2:259 reduce
0:263 shift
0:264 shift
- 1:259,target 3
+ 1:259,target 4
4:259 reduce
0:265 shift
- 15:0 reduce
6:259 reduce
0:266 goto
- 13:259,target 11
- 0:267 goto
+ 13:259,target 12
0:268 goto
0:265,target 7
- 6:0,target 10
- 16:0,target 14
+ 6:0,target 11
+ 0:269 goto
+ 16:0,target 15
2:0 reduce
- 1:258,target 3
- 9:259,target 5
+ 10:267,target 15
+ 1:258,target 4
+ 9:259,target 6
7:262,target 11
6:0 reduce
0:264,target 6
- 4:259,target 9
- 16:259,target 14
- 1:257,target 3
+ 4:259,target 10
+ 16:259,target 15
+ 1:257,target 4
+ 17:0,target 3
12:0 reduce
9:258,target 2
10:0,target 1
- 11:259,target 12
+ 9:268,target 14
+ 11:259,target 13
0:263,target 5
16:0 reduce
12:257 shift
- 10:259 shift
+ 10:259 reduce
12:258 shift
9:257,target 1
12:259 reduce
- 9:267,target 14
8:0,target 0
- 7:269,target 13
+ 7:270,target 13
3:0 reduce
- 1:0,target 3
+ 1:0,target 4
14:259 reduce
- 11:0,target 12
- 2:259,target 4
+ 11:0,target 13
+ 2:259,target 5
16:259 reduce
1:257 reduce
- 14:259,target 6
+ 14:259,target 7
+ 10:267 goto
1:258 reduce
7:258,target 2
1:259 reduce
- 12:267 goto
+ 7:268,target 12
+ 12:268 goto
3:259 reduce
13:0 reduce
- 9:0,target 5
+ 9:0,target 6
0:261,target 4
- 2:258,target 4
+ 2:258,target 5
7:257 shift
- 2:0,target 4
+ 2:0,target 5
5:259 reduce
- 12:0,target 13
+ 12:0,target 14
7:258 shift
9:257 shift
+ 17:0 reduce
9:258 shift
7:257,target 1
- 5:259,target 7
+ 5:259,target 8
9:259 reduce
- 7:267,target 12
7:262 shift
0:260,target 3
- 2:257,target 4
+ 2:257,target 5
+ 0:269,target 10
4:0 reduce
- 12:259,target 13
- 7:267 goto
- 3:0,target 8
- 13:0,target 11
- 9:267 goto
+ 12:259,target 14
+ 3:0,target 9
+ 13:0,target 12
+ 7:268 goto
8:0 accept
- 7:269 goto
+ 7:270 goto
10:0 reduce
+ 9:268 goto
0:258,target 2
- 0:268,target 10
+ 0:268,target 9
14:0 reduce
12:258,target 2
- 3:259,target 8
- 4:0,target 9
- 14:0,target 6
+ 12:268,target 16
+ 3:259,target 9
+ 4:0,target 10
+ 14:0,target 7
+ 15:259,target 17
0:257,target 1
1:0 reduce
11:259 reduce
- 0:267,target 9
13:259 reduce
12:257,target 1
- 10:259,target 15
- 12:267,target 16
+ 10:259,target 2
5:0 reduce
}
array set zoom::rules {
- 9,l 268
- 11,l 268
- 2,l 266
- 6,l 268
+ 9,l 269
+ 11,l 269
+ 15,l 270
+ 2,l 267
+ 6,l 269
12,l 269
- 3,l 267
- 7,l 268
- 13,l 269
- 0,l 270
- 4,l 267
- 8,l 268
- 10,l 268
- 14,l 269
+ 3,l 266
+ 7,l 269
+ 13,l 270
+ 0,l 271
+ 4,l 268
+ 8,l 269
+ 10,l 269
+ 14,l 270
1,l 266
5,l 268
}
@@ -182,36 +187,39 @@ array set zoom::rules {
array set zoom::rules {
5,dc 1
0,dc 1
- 12,dc 1
+ 12,dc 2
8,dc 1
- 3,dc 1
+ 3,dc 3
+ 15,dc 2
10,dc 1
- 6,dc 2
+ 6,dc 1
1,dc 1
13,dc 1
9,dc 1
4,dc 1
- 11,dc 2
- 7,dc 1
- 2,dc 2
- 14,dc 2
+ 11,dc 1
+ 7,dc 2
+ 2,dc 0
+ 14,dc 1
}
array set zoom::rules {
- 13,line 38
- 7,line 30
- 10,line 33
- 4,line 25
+ 13,line 37
+ 2,e 1
+ 7,line 29
+ 10,line 32
+ 4,line 24
1,line 20
- 9,line 32
- 12,line 37
- 6,line 29
- 3,line 24
- 14,line 39
- 8,line 31
- 11,line 34
- 5,line 28
- 2,line 21
+ 15,line 39
+ 9,line 31
+ 12,line 34
+ 6,line 28
+ 3,line 21
+ 14,line 38
+ 8,line 30
+ 11,line 33
+ 5,line 25
+ 2,line 20
}
proc zoom::yyparse {} {
@@ -282,18 +290,18 @@ proc zoom::yyparse {} {
set _ $1
set yylval [lindex $value_stack end]
switch -- $rule {
- 2 { zoom::yyclearin }
- 3 { set _ $1 }
+ 2 { zoom::yyclearin; YYACCEPT }
4 { set _ $1 }
- 5 { Zoom $1 $1 }
- 6 { Zoom $1 $2 }
- 7 { PanZoomDialog }
- 8 { PanZoomDestroyDialog }
- 9 { Zoom 2 2 }
- 10 { Zoom .5 .5 }
- 12 { ZoomToFit }
- 13 { global zoom; set current(zoom) "$1 $1"; ChangeZoom }
- 14 { global zoom; set current(zoom) "$1 $2"; ChangeZoom }
+ 5 { set _ $1 }
+ 6 { Zoom $1 $1 }
+ 7 { Zoom $1 $2 }
+ 8 { PanZoomDialog }
+ 9 { PanZoomDestroyDialog }
+ 10 { Zoom 2 2 }
+ 11 { Zoom .5 .5 }
+ 13 { ZoomToFit }
+ 14 { global zoom; set current(zoom) "$1 $1"; ChangeZoom }
+ 15 { global zoom; set current(zoom) "$1 $2"; ChangeZoom }
}
unsetupvalues $dc
# pop off tokens from the stack if normal rule
@@ -324,7 +332,7 @@ proc zoom::yyparse {} {
######
proc zoom::yyerror {msg} {
- puts stderr "$msg:"
puts stderr "$zoom::yy_current_buffer"
- puts stderr [format "zoom %*s" $zoom::index_ ^]
+ puts stderr [format "%*s" $zoom::index_ ^]
+ puts stderr "$msg:"
}
diff --git a/ds9/parsers/panlex.fcl b/ds9/parsers/panlex.fcl
index 351de9e..18c5115 100644
--- a/ds9/parsers/panlex.fcl
+++ b/ds9/parsers/panlex.fcl
@@ -15,7 +15,8 @@ E [Ee][+-]?{D}+
%%
--zscale {return $pan::CMD_}
+-zscale {return $pan::CMD_}
+-zoom {return $pan::CMD_}
close {return $pan::CLOSE_}
open {return $pan::OPEN_}
@@ -89,6 +90,9 @@ ecliptic {return $pan::ECLIPTIC_}
# Quoted STRING
\{[^\}]*\} {set pan::yylval [string range $yytext 1 end-1]; return $pan::STRING_}
+# CMD
+#-\S+\S+ {set pan::yylval $yytext; return $pan::CMD_}
+
# STRING
\S+\S+ {set pan::yylval $yytext; return $pan::STRING_}
diff --git a/ds9/parsers/panparser.tac b/ds9/parsers/panparser.tac
index 85f40e1..42c2ad0 100644
--- a/ds9/parsers/panparser.tac
+++ b/ds9/parsers/panparser.tac
@@ -1,8 +1,4 @@
%{
-namespace eval pan {
- variable xx {}
- variable yy {}
-}
%}
%start command
@@ -62,7 +58,7 @@ namespace eval pan {
%%
command : pan
-| pan CMD_ {pan::yyclearin}
+| pan {pan::yyclearin; YYACCEPT} CMD_
;
numeric : INT_ {set _ $1}
@@ -128,35 +124,29 @@ skyframe : FK4_ {set _ fk4}
# YYABORT
# }
-coord : numeric numeric {set pan::xx $1; set pan::yy $2}
- ;
-
-skycoord : SEXSTR_ SEXSTR_ {set pan::xx $1; set pan::yy $2}
- ;
-
pan : OPEN_ {PanZoomDialog}
| CLOSE_ {PanZoomDestroyDialog}
| TO_ panto
- | coord {Pan $pan::xx $pan::yy physical}
- | coord coordsys {Pan $pan::xx $pan::yy $2}
- | coord wcssys {Pan $pan::xx $pan::yy $2 fk5}
- | coord wcssys skyframe {Pan $pan::xx $pan::yy $2 $3}
- | coord skyframe {Pan $pan::xx $pan::yy wcs $3}
- | skycoord {Pan $pan::xx $pan::yy wcs fk5}
- | skycoord wcssys {Pan $pan::xx $pan::yy $2 fk5}
- | skycoord wcssys skyframe {Pan $pan::xx $pan::yy $2 $3}
- | skycoord skyframe {Pan $pan::xx $pan::yy wcs $2}
+ | numeric numeric {Pan $1 $2 physical}
+ | numeric numeric coordsys {Pan $1 $2 $3}
+ | numeric numeric wcssys {Pan $1 $2 $3 fk5}
+ | numeric numeric skyframe {Pan $1 $2 wcs $3}
+ | numeric numeric wcssys skyframe {Pan $1 $2 $3 $4}
+ | SEXSTR_ SEXSTR_ {Pan $1 $2 wcs fk5}
+ | SEXSTR_ SEXSTR_ wcssys {Pan $1 $2 $3 fk5}
+ | SEXSTR_ SEXSTR_ skyframe {Pan $1 $2 wcs $3}
+ | SEXSTR_ SEXSTR_ wcssys skyframe {Pan $1 $2 $3 $4}
;
-panto : coord {PanTo $pan::xx $pan::yy physical}
- | coord coordsys {PanTo $pan::xx $pan::yy $2}
- | coord wcssys {PanTo $pan::xx $pan::yy $2 fk5}
- | coord wcssys skyframe {PanTo $pan::xx $pan::yy $2 $3}
- | coord skyframe {PanTo $pan::xx $pan::yy wcs $3}
- | skycoord {PanTo $pan::xx $pan::yy wcs fk5}
- | skycoord wcssys {PanTo $pan::xx $pan::yy $2 fk5}
- | skycoord wcssys skyframe {PanTo $pan::xx $pan::yy $2 $3}
- | skycoord skyframe {PanTo $pan::xx $pan::yy wcs $2}
+panto : numeric numeric {PanTo $1 $2 physical}
+ | numeric numeric coordsys {PanTo $1 $2 $3}
+ | numeric numeric wcssys {PanTo $1 $2 $3 fk5}
+ | numeric numeric skyframe {PanTo $1 $2 wcs $3}
+ | numeric numeric wcssys skyframe {PanTo $1 $2 $3 $4}
+ | SEXSTR_ SEXSTR_ {PanTo $1 $2 wcs fk5}
+ | SEXSTR_ SEXSTR_ wcssys {PanTo $1 $2 $3 fk5}
+ | SEXSTR_ SEXSTR_ skyframe {PanTo $1 $2 wcs $3}
+ | SEXSTR_ SEXSTR_ wcssys skyframe {PanTo $1 $2 $3 $4}
;
%%
diff --git a/ds9/parsers/zoomparser.tac b/ds9/parsers/zoomparser.tac
index 5a8211b..a49b838 100644
--- a/ds9/parsers/zoomparser.tac
+++ b/ds9/parsers/zoomparser.tac
@@ -17,7 +17,7 @@
%%
command : zoom
- | zoom STRING_ {zoom::yyclearin}
+ | zoom {zoom::yyclearin; YYACCEPT} STRING_
;
numeric : INT_ {set _ $1}
@@ -41,7 +41,7 @@ zoomTo: FIT_ {ZoomToFit}
%%
proc zoom::yyerror {msg} {
- puts stderr "$msg:"
puts stderr "$zoom::yy_current_buffer"
- puts stderr [format "zoom %*s" $zoom::index_ ^]
+ puts stderr [format "%*s" $zoom::index_ ^]
+ puts stderr "$msg:"
}