home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
gdead.berkeley.edu
/
gdead.berkeley.edu.tar
/
gdead.berkeley.edu
/
pub
/
cad-tools
/
ciftomann.tar
/
cmd_dir
/
scan.l
< prev
Wrap
Text File
|
1988-01-28
|
895b
|
45 lines
%{
/* the lexical scanner for the command parser */
#include "parse.h"
int line_number = 1;
%}
l [a-zA-Z]
an [a-zA-Z0-9]
%%
[sS]cale {return (SCALE);}
[Ii]nvert {return (INVERT);}
[Gg]row {return (GROW);}
[Ss]hrink {return (SHRINK);}
[Aa]perture_max {return (APERTURE_MAX);}
[Aa]perture_min {return (APERTURE_MIN);}
[Ss]tage_max {return (STAGE_MAX);}
[Ss]tage_min {return (STAGE_MIN);}
[Gg]rid_size {return (GRID_SIZE);}
[Cc]onvert_factor {return (CONVERT_FACTOR);}
{l} |
{l}{an} |
{l}{an}{an} |
{l}{an}{an}{an} {
yylval.strval = yytext;
return(LAYER);
}
{l}+ { error("bad layer name or keyword");}
[0-9]+ { sscanf(yytext,"%d",&yylval.intval);
return(NUMBER);
}
[0-9]+\.[0-9]* { sscanf(yytext,"%f",&yylval.floatval);
return(FLOAT);
}
\- { return ( MINUS ); }
\n { line_number++;
return (EOL); }
[ \t] ;
. { error("illegal character");}