114                                     4.     

if (w == sat || w == sun)      //  
cout  " ! ";

     
   .       -
  ;  ,     
 . ,   ,   
 ,    (static).

 ,       . 
 ,     ,     
.        , -
  LIFO:

//,     
enum type { int_type, dbl_type, chr_type, str_type };

union rainbow {
int    ii-
clouble x;

char    ;

char* p;

In-
struct rbdata {
type    t ;

rainbow d;

};

struct u_stack {

rbdata s[max_len] ;

int top;

};

  u_stack  ,     -
 ,      t  type 
  .     ,   ch_stack. -
, push ():

void push(u_stack* stk, str[i++])
{

stk -> s[++stk -> top = c;

}

  u_stack  t ,    
   .     , ,  
 switch,    :

rdata x;

u_stack * pa;

x = pop(pa);