summaryrefslogtreecommitdiffstats
path: root/ds9/parsers/cubelex.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'ds9/parsers/cubelex.tcl')
-rw-r--r--ds9/parsers/cubelex.tcl998
1 files changed, 998 insertions, 0 deletions
diff --git a/ds9/parsers/cubelex.tcl b/ds9/parsers/cubelex.tcl
new file mode 100644
index 0000000..86b5e76
--- /dev/null
+++ b/ds9/parsers/cubelex.tcl
@@ -0,0 +1,998 @@
+package provide DS9 1.0
+
+######
+# Begin autogenerated fickle (version 2.1) routines.
+# Although fickle itself is protected by the GNU Public License (GPL)
+# all user-supplied functions are protected by their respective
+# author's license. See http://mini.net/tcl/fickle for other details.
+######
+
+namespace eval cube {
+ variable yylval
+
+ variable yytext {}
+ variable yyleng 0
+ variable yyin stdin
+ variable yyout stdout
+ variable yy_current_buffer {}
+
+ variable yylineno 1
+
+ variable index_ 0
+ variable done_ 0
+}
+
+# ECHO copies yytext to the scanner's output if no arguments are
+# given. The scanner writes its ECHO output to the yyout global
+# (default, stdout), which may be redefined by the user simply by
+# assigning it to some other channel.
+# -- from the flex(1) man page
+proc cube::ECHO {{s ""}} {
+ variable yytext
+ variable yyout
+
+ if {$s == ""} {
+ puts -nonewline $yyout $yytext
+ } else {
+ puts -nonewline $yyout $s
+ }
+}
+
+# YY_FLUSH_BUFFER flushes the scanner's internal buffer so that the
+# next time the scanner attempts to match a token, it will first
+# refill the buffer using YY_INPUT.
+# -- from the flex(1) man page
+proc cube::YY_FLUSH_BUFFER {} {
+ variable yy_current_buffer
+ variable index_
+ variable done_
+
+ set yy_current_buffer ""
+ set index_ 0
+ set done_ 0
+}
+
+# yyrestart(new_file) may be called to point yyin at the new input
+# file. The switch-over to the new file is immediate (any previously
+# buffered-up input is lost). Note that calling yyrestart with yyin
+# as an argument thus throws away the current input buffer and
+# continues scanning the same input file.
+# -- from the flex(1) man page
+proc cube::yyrestart {new_file} {
+ variable yyin
+
+ set yyin $new_file
+ YY_FLUSH_BUFFER
+}
+
+# The nature of how it gets its input can be controlled by defining
+# the YY_INPUT macro. YY_INPUT's calling sequence is
+# "YY_INPUT(buf,result,max_size)". Its action is to place up to
+# max_size characters in the character array buf and return in the
+# integer variable result either the number of characters read or the
+# constant YY_NULL (0 on Unix systems) to indicate EOF. The default
+# YY_INPUT reads from the global file-pointer "yyin".
+# -- from the flex(1) man page
+proc cube::YY_INPUT {buf result max_size} {
+ variable yyin
+
+ upvar $result ret_val
+ upvar $buf new_data
+ if {$yyin != ""} {
+ set new_data [read $yyin $max_size]
+ set ret_val [string length $new_data]
+ } else {
+ set new_data ""
+ set ret_val 0
+ }
+}
+
+# yy_scan_string sets up input buffers for scanning in-memory
+# strings instead of files. Note that switching input sources does
+# not change the start condition.
+# -- from the flex(1) man page
+proc cube::yy_scan_string {str} {
+ variable yy_current_buffer
+ variable yyin
+
+ append yy_current_buffer $str
+ set yyin ""
+}
+
+# unput(c) puts the character c back onto the input stream. It will
+# be the next character scanned.
+# -- from the flex(1) man page
+proc cube::unput {c} {
+ variable yy_current_buffer
+ variable index_
+
+ set s [string range $yy_current_buffer 0 [expr {$index_ - 1}]]
+ append s $c
+ set yy_current_buffer [append s [string range $yy_current_buffer $index_ end]]
+}
+
+# Returns all but the first n characters of the current token back to
+# the input stream, where they will be rescanned when the scanner
+# looks for the next match. yytext and yyleng are adjusted
+# appropriately.
+# -- from the flex(1) man page
+proc cube::yyless {n} {
+ variable yy_current_buffer
+ variable index_
+ variable yytext
+ variable yyleng
+
+ set s [string range $yy_current_buffer 0 [expr {$index_ - 1}]]
+ append s [string range $yytext $n end]
+ set yy_current_buffer [append s [string range $yy_current_buffer $index_ end]]
+ set yytext [string range $yytext 0 [expr {$n - 1}]]
+ set yyleng [string length $yytext]
+}
+
+# input() reads the next character from the input stream.
+# -- from the flex(1) man page
+proc cube::input {} {
+ variable yy_current_buffer
+ variable index_
+ variable done_
+
+ if {[string length $yy_current_buffer] - $index_ < 1024} {
+ set new_buffer ""
+ set new_buffer_size 0
+ if {$done_ == 0} {
+ YY_INPUT new_buffer new_buffer_size 1024
+ append yy_current_buffer $new_buffer
+ if {$new_buffer_size == 0} {
+ set done_ 1
+ }
+ }
+ if $done_ {
+ if {[string length $yy_current_buffer] - $index_ == 0} {
+ return {}
+ }
+ }
+ }
+ set c [string index $yy_current_buffer $index_]
+ incr index_
+ return $c
+}
+
+######
+# autogenerated yylex function created by fickle
+######
+
+# Whenever yylex() is called, it scans tokens from the global input
+# file yyin (which defaults to stdin). It continues until it either
+# reaches an end-of-file (at which point it returns the value 0) or
+# one of its actions executes a return statement.
+# -- from the flex(1) man page
+proc cube::yylex {} {
+ variable yylval
+
+ variable yytext
+ variable yylineno
+ variable yyleng
+ variable yy_current_buffer
+ variable yy_flex_debug
+
+ variable index_
+ variable done_
+ variable state_table_
+
+set WCS_ 257
+set WCSA_ 258
+set WCSB_ 259
+set WCSC_ 260
+set WCSD_ 261
+set WCSE_ 262
+set WCSF_ 263
+set WCSG_ 264
+set WCSH_ 265
+set WCSI_ 266
+set WCSJ_ 267
+set WCSK_ 268
+set WCSL_ 269
+set WCSM_ 270
+set WCSN_ 271
+set WCSO_ 272
+set WCSP_ 273
+set WCSQ_ 274
+set WCSR_ 275
+set WCSS_ 276
+set WCST_ 277
+set WCSU_ 278
+set WCSV_ 279
+set WCSW_ 280
+set WCSX_ 281
+set WCSY_ 282
+set WCSZ_ 283
+set FK4_ 284
+set B1950_ 285
+set FK5_ 286
+set J2000_ 287
+set ICRS_ 288
+set GALACTIC_ 289
+set ECLIPTIC_ 290
+set YES_ 291
+set NO_ 292
+set ON_ 293
+set OFF_ 294
+set TRUE_ 295
+set FALSE_ 296
+set INT_ 297
+set REAL_ 298
+set STRING_ 299
+set AXIS_ 300
+set AXES_ 301
+set CLOSE_ 302
+set FIRST_ 303
+set INTERVAL_ 304
+set IMAGE_ 305
+set LAST_ 306
+set LOCK_ 307
+set MATCH_ 308
+set NEXT_ 309
+set NONE_ 310
+set OPEN_ 311
+set ORDER_ 312
+set PLAY_ 313
+set PREV_ 314
+set STOP_ 315
+set 123_ 316
+set 132_ 317
+set 213_ 318
+set 231_ 319
+set 312_ 320
+set 321_ 321
+
+ while {1} {
+ if {[string length $yy_current_buffer] - $index_ < 1024} {
+ if {$done_ == 0} {
+ set buffer_size 0
+ set new_buffer ""
+ YY_INPUT new_buffer buffer_size 1024
+ append yy_current_buffer $new_buffer
+ if {$buffer_size == 0 && \
+ [string length $yy_current_buffer] - $index_ == 0} {
+ set done_ 1
+ }
+ }
+ if $done_ {
+ if {[string length $yy_current_buffer] - $index_ == 0} {
+ break
+ }
+ }
+ }
+ set yyleng 0
+ set matched_rule -1
+ # rule 0: axis
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(axis)} $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 0
+ }
+ # rule 1: axes
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(axes)} $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: 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: first
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(first)} $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: 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 4
+ }
+ # rule 5: interval
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(interval)} $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: last
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(last)} $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: lock
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(lock)} $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: match
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(match)} $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: next
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(next)} $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: none
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(none)} $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: 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 11
+ }
+ # rule 12: order
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(order)} $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: play
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(play)} $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: prev
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(prev)} $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: stop
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(stop)} $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: 123
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(123)} $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: 132
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(132)} $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: 213
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(213)} $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: 231
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(231)} $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: 312
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(312)} $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: 321
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(321)} $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: 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 22
+ }
+ # rule 23: 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 23
+ }
+ # rule 24: 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 24
+ }
+ # rule 25: 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 25
+ }
+ # rule 26: 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 26
+ }
+ # rule 27: 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 27
+ }
+ # rule 28: 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 28
+ }
+ # rule 29: 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 29
+ }
+ # rule 30: 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 30
+ }
+ # rule 31: 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 31
+ }
+ # rule 32: 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 32
+ }
+ # rule 33: 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 33
+ }
+ # rule 34: 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 34
+ }
+ # rule 35: 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 35
+ }
+ # rule 36: 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 36
+ }
+ # rule 37: 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 37
+ }
+ # rule 38: 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 38
+ }
+ # rule 39: 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 39
+ }
+ # rule 40: 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 40
+ }
+ # rule 41: 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 41
+ }
+ # rule 42: 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 42
+ }
+ # rule 43: 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 43
+ }
+ # rule 44: 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 44
+ }
+ # rule 45: 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 45
+ }
+ # rule 46: 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 46
+ }
+ # rule 47: 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 47
+ }
+ # rule 48: 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 48
+ }
+ # rule 49: 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 49
+ }
+ # rule 50: 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 50
+ }
+ # rule 51: 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 51
+ }
+ # rule 52: 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 52
+ }
+ # rule 53: icrs
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(icrs)} $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: 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 54
+ }
+ # rule 55: 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 55
+ }
+ # rule 56: yes
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(yes)} $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
+ }
+ # rule 57: no
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(no)} $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 57
+ }
+ # rule 58: on
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(on)} $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 58
+ }
+ # rule 59: off
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(off)} $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 59
+ }
+ # rule 60: true
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(true)} $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 60
+ }
+ # rule 61: false
+ if {[regexp -start $index_ -indices -line -nocase -- {\A(false)} $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 61
+ }
+ # rule 62: [+-]?{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 62
+ }
+ # rule 63: [+-]?{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 63
+ }
+ # rule 64: [+-]?{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 64
+ }
+ # rule 65: \"[^\"]*\"
+ 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 65
+ }
+ # rule 66: \'[^\']*\'
+ 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 66
+ }
+ # rule 67: \{[^\}]*\}
+ 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 67
+ }
+ # rule 68: \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 68
+ }
+ # rule 69: \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 69
+ }
+ # rule 70: .
+ 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 70
+ }
+ if {$matched_rule == -1} {
+ set yytext [string index $yy_current_buffer $index_]
+ set yyleng 1
+ }
+ incr index_ $yyleng
+ # workaround for Tcl's circumflex behavior
+ if {[string index $yytext end] == "\n"} {
+ set yy_current_buffer [string range $yy_current_buffer $index_ end]
+ set index_ 0
+ }
+ set numlines [expr {[llength [split $yytext "\n"]] - 1}]
+ switch -- $matched_rule {
+ 0 {
+return $AXIS_
+ }
+ 1 {
+return $AXES_
+ }
+ 2 {
+return $CLOSE_
+ }
+ 3 {
+return $FIRST_
+ }
+ 4 {
+return $IMAGE_
+ }
+ 5 {
+return $INTERVAL_
+ }
+ 6 {
+return $LAST_
+ }
+ 7 {
+return $LOCK_
+ }
+ 8 {
+return $MATCH_
+ }
+ 9 {
+return $NEXT_
+ }
+ 10 {
+return $NONE_
+ }
+ 11 {
+return $OPEN_
+ }
+ 12 {
+return $ORDER_
+ }
+ 13 {
+return $PLAY_
+ }
+ 14 {
+return $PREV_
+ }
+ 15 {
+return $STOP_
+ }
+ 16 {
+return $123_
+ }
+ 17 {
+return $132_
+ }
+ 18 {
+return $213_
+ }
+ 19 {
+return $231_
+ }
+ 20 {
+return $312_
+ }
+ 21 {
+return $321_
+ }
+ 22 {
+return $WCS_
+ }
+ 23 {
+return $WCSA_
+ }
+ 24 {
+return $WCSB_
+ }
+ 25 {
+return $WCSC_
+ }
+ 26 {
+return $WCSD_
+ }
+ 27 {
+return $WCSE_
+ }
+ 28 {
+return $WCSF_
+ }
+ 29 {
+return $WCSG_
+ }
+ 30 {
+return $WCSH_
+ }
+ 31 {
+return $WCSI_
+ }
+ 32 {
+return $WCSJ_
+ }
+ 33 {
+return $WCSK_
+ }
+ 34 {
+return $WCSL_
+ }
+ 35 {
+return $WCSM_
+ }
+ 36 {
+return $WCSN_
+ }
+ 37 {
+return $WCSO_
+ }
+ 38 {
+return $WCSP_
+ }
+ 39 {
+return $WCSQ_
+ }
+ 40 {
+return $WCSR_
+ }
+ 41 {
+return $WCSS_
+ }
+ 42 {
+return $WCST_
+ }
+ 43 {
+return $WCSU_
+ }
+ 44 {
+return $WCSV_
+ }
+ 45 {
+return $WCSW_
+ }
+ 46 {
+return $WCSX_
+ }
+ 47 {
+return $WCSY_
+ }
+ 48 {
+return $WCSZ_
+ }
+ 49 {
+return $FK4_
+ }
+ 50 {
+return $FK4_
+ }
+ 51 {
+return $FK5_
+ }
+ 52 {
+return $FK5_
+ }
+ 53 {
+return $ICRS_
+ }
+ 54 {
+return $GALACTIC_
+ }
+ 55 {
+return $ECLIPTIC_
+ }
+ 56 {
+return $YES_
+ }
+ 57 {
+return $NO_
+ }
+ 58 {
+return $ON_
+ }
+ 59 {
+return $OFF_
+ }
+ 60 {
+return $TRUE_
+ }
+ 61 {
+return $FALSE_
+ }
+ 62 {
+set yylval $yytext; return $INT_
+ }
+ 63 -
+ 64 {
+set yylval $yytext; return $REAL_
+ }
+ 65 {
+set yylval [string range $yytext 1 end-1]; return $STRING_
+ }
+ 66 {
+set yylval [string range $yytext 1 end-1]; return $STRING_
+ }
+ 67 {
+set yylval [string range $yytext 1 end-1]; return $STRING_
+ }
+ 68 {
+set yylval $yytext; return $STRING_
+ }
+ 69 {
+# ignore whitespace
+ }
+ 70 {
+set yylval $yytext; return $yylval
+ }
+ default
+ { puts stderr "unmatched token: $yytext"; exit -1 }
+ }
+ incr yylineno $numlines
+ }
+ return 0
+}
+######
+# end autogenerated fickle functions
+######
+