1 static char id_space[2] [32 +1];
2 typedef short COUNT;
3 
4 typedef char TEXT;
5 
6 union T_VALS
7 {
8   TEXT   *id __attribute__ ((aligned (2), packed)) ;
9 };
10 typedef union T_VALS VALS;
11 
12 struct T_VAL
13 {
14   COUNT    pos __attribute__ ((aligned (2), packed)) ;
15   VALS    vals __attribute__ ((aligned (2), packed)) ;
16 };
17 typedef struct T_VAL VAL;
18 
19 VAL curval = {0};
20 
21 static short idc = 0;
22 static int cur_line;
23 static int char_pos;
24 
25 typedef unsigned short WORD;
26 
27 WORD
28 get_id (char c)
29 {
30   curval.vals.id[0] = c;
31 }
32 
33 WORD
34 get_tok ()
35 {
36   char c = 'c';
37   curval.vals.id = id_space[idc];
38   curval.pos = (cur_line << 10) | char_pos;
39   return get_id (c);
40 }
41 
42 main ()
43 {
44   get_tok ();
45   exit (0);
46 }
47