/* types.h
   Resenje prakticnog dela ispita januar 2004
   Autor : Filip Maric
*/


/* Dopusteni tipovi */
typedef enum {REAL, COMPLEX} expression_type;

/* Struktura koja opisuje vrednosti kompleksnog 
   tipa podataka */
typedef struct _complex_value
{   expression_type type;
    float real;
    float imag;
} COMPLEX_VALUE;

/* Struktura opisuje vrednost realnog tipa podataka */
typedef struct _real_value
{   expression_type type;
    float real;
} REAL_VALUE;


/* Vrednost izraza je ili realna ili kompleksna 
   tako da kreiramo uniju ove dve strukture */
typedef union _expression_value
{   expression_type type;
    COMPLEX_VALUE complex_value;
    REAL_VALUE real_value;
} EXPRESSION_VALUE;

