diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2018-02-24 21:26:25 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2018-02-24 21:26:25 (GMT) |
commit | 74683dd17324cba287626e4e80ba10fd99843a32 (patch) | |
tree | 64f9be8d25c0b6f56b10a052e891c023839969ac /ds9/library/zoomlex.fcl | |
parent | 5e19831aabcf8c7e349240e3eb0a1e325c6ded60 (diff) | |
download | blt-74683dd17324cba287626e4e80ba10fd99843a32.zip blt-74683dd17324cba287626e4e80ba10fd99843a32.tar.gz blt-74683dd17324cba287626e4e80ba10fd99843a32.tar.bz2 |
zoom parser
Diffstat (limited to 'ds9/library/zoomlex.fcl')
-rw-r--r-- | ds9/library/zoomlex.fcl | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/ds9/library/zoomlex.fcl b/ds9/library/zoomlex.fcl new file mode 100644 index 0000000..8d1d10b --- /dev/null +++ b/ds9/library/zoomlex.fcl @@ -0,0 +1,49 @@ +%{ +source $ds9(root)/library/parser.tab.tcl +%} + +%option noyywrap +%option caseless +%option nodefault +%option nointeractive +#%option stack +%option yylineno +#%option debug + +D [0-9] +E [Ee][+-]?{D}+ + +%% + +close {return $zoom::CLOSE_} +in {return $zoom::IN_} +fit {return $zoom::FIT_} +open {return $zoom::OPEN_} +out {return $zoom::OUT_} +to {return $zoom::TO_} + +# INT +[+-]?{D}+ {set zoom::yylval $yytext; return $zoom::INT_} + +# REAL +[+-]?{D}+"."?({E})? | +[+-]?{D}*"."{D}+({E})? {set zoom::yylval $yytext; return $zoom::REAL_} + +# Quoted STRING +\"[^\"]*\" {set zoom::yylval [string range $yytext 1 end-1]; return $zoom::STRING_} + +# Quoted STRING +\'[^\']*\' {set zoom::yylval [string range $yytext 1 end-1]; return $zoom::STRING_} + +# Quoted STRING +\{[^\}]*\} {set zoom::yylval [string range $yytext 1 end-1]; return $zoom::STRING_} + +# STRING +\S+\S+ {set zoom::yylval $yytext; return $zoom::STRING_} + +\s # ignore whitespace + +. {set zoom::yylval $yytext; return $zoom::yylval} + +%% + |