|
|
1.1 root 1: A [a-z_A-Z]
2: M [a-z_A-Z0-9]
3: int skipping;
4: %%
5: "/*" {skipping = 1;}
6: "*/" {skipping = 0;}
7: "%" {extern int brkcount;
8: if (! skipping)
9: if (++brkcount == 2)
10: return(0); /* end-of-file */
11: else
12: return(DEFBRK);
13: }
14: ":" {if (! skipping) return(COLON);}
15: 0[0-9]* {if (! skipping) return(OCTAL);}
16: [1-9][0-9]+ {if (! skipping) return(INTEGER);}
17: is {if (! skipping) return(IS);}
18: on {if (! skipping) return(ON);}
19: "=" ;
20: "iint" {if (! skipping) return(IINT);}
21: "-iint" {if (! skipping) return(IINT);}
22: "oint" {if (! skipping) return(OINT);}
23: "-oint" {if (! skipping) return(OINT);}
24: "-csr" {if (! skipping) return(CSR);}
25: "csr" {if (! skipping) return(CSR);}
26: "-ivec" {if (! skipping) return(IVEC);}
27: "ivec" {if (! skipping) return(IVEC);}
28: "-ovec" {if (! skipping) return(OVEC);}
29: "ovec" {if (! skipping) return(OVEC);}
30: "-i" {if (! skipping) return(INIT);}
31: "i" {if (! skipping) return(INIT);}
32: "-o" {if (! skipping) return(OPEN);}
33: "o" {if (! skipping) return(OPEN);}
34: "-c" {if (! skipping) return(CLOSE);}
35: "c" {if (! skipping) return(CLOSE);}
36: "-r" {if (! skipping) return(READ);}
37: "r" {if (! skipping) return(READ);}
38: "-g" {if (! skipping) return(GETC);}
39: "g" {if (! skipping) return(GETC);}
40: "-p" {if (! skipping) return(PUTC);}
41: "p" {if (! skipping) return(PUTC);}
42: "-w" {if (! skipping) return(WRITE);}
43: "w" {if (! skipping) return(WRITE);}
44: "-s" {if (! skipping) return(SEEK);}
45: "s" {if (! skipping) return(SEEK);}
46: "-n" {if (! skipping) return(CNTL);}
47: "n" {if (! skipping) return(CNTL);}
48: [ \t]+ ;
49: "\n" {extern int linectr;
50: linectr++;
51: }
52: {A}{M}* {if (! skipping) return(IDENT);}
53: . {if (! skipping) return(yytext[0]);}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.