|
|
Xinu for VAX
A [a-z_A-Z]
M [a-z_A-Z0-9]
int skipping;
%%
"/*" {skipping = 1;}
"*/" {skipping = 0;}
"%" {extern int brkcount;
if (! skipping)
if (++brkcount == 2)
return(0); /* end-of-file */
else
return(DEFBRK);
}
":" {if (! skipping) return(COLON);}
0[0-9]* {if (! skipping) return(OCTAL);}
[1-9][0-9]+ {if (! skipping) return(INTEGER);}
is {if (! skipping) return(IS);}
on {if (! skipping) return(ON);}
"=" ;
"iint" {if (! skipping) return(IINT);}
"-iint" {if (! skipping) return(IINT);}
"oint" {if (! skipping) return(OINT);}
"-oint" {if (! skipping) return(OINT);}
"-csr" {if (! skipping) return(CSR);}
"csr" {if (! skipping) return(CSR);}
"-ivec" {if (! skipping) return(IVEC);}
"ivec" {if (! skipping) return(IVEC);}
"-ovec" {if (! skipping) return(OVEC);}
"ovec" {if (! skipping) return(OVEC);}
"-i" {if (! skipping) return(INIT);}
"i" {if (! skipping) return(INIT);}
"-o" {if (! skipping) return(OPEN);}
"o" {if (! skipping) return(OPEN);}
"-c" {if (! skipping) return(CLOSE);}
"c" {if (! skipping) return(CLOSE);}
"-r" {if (! skipping) return(READ);}
"r" {if (! skipping) return(READ);}
"-g" {if (! skipping) return(GETC);}
"g" {if (! skipping) return(GETC);}
"-p" {if (! skipping) return(PUTC);}
"p" {if (! skipping) return(PUTC);}
"-w" {if (! skipping) return(WRITE);}
"w" {if (! skipping) return(WRITE);}
"-s" {if (! skipping) return(SEEK);}
"s" {if (! skipping) return(SEEK);}
"-n" {if (! skipping) return(CNTL);}
"n" {if (! skipping) return(CNTL);}
[ \t]+ ;
"\n" {extern int linectr;
linectr++;
}
{A}{M}* {if (! skipping) return(IDENT);}
. {if (! skipping) return(yytext[0]);}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.