typedef union
{
    //
    // General types
    //
    char* string;
    IdlStringSeq* stringSeq;

    CORBA_Long longVal;
    CORBA_ULong uLongVal;
    CORBA_Char charVal;
    CORBA_Double doubleVal;
    CORBA_Boolean booleanVal;

    CORBA_Any* any;
    IdlAnySeq* anySeq;

    //
    // Special types
    //
    IdlDeclarator* declarator;
    IdlDeclaratorSeq* declaratorSeq;

    //
    // Types from the IR
    //
    CORBA_IDLType_ptr idlType;
    CORBA_StructDef_ptr structDef;
    CORBA_UnionDef_ptr unionDef;
    CORBA_ExceptionDef_ptr exceptionDef;
    CORBA_AttributeMode attributeMode;
    CORBA_StructMemberSeq* structMemberSeq;
    CORBA_UnionMemberSeq* unionMemberSeq;
    CORBA_UnionMember* unionMember;
    CORBA_InterfaceDefSeq* interfaceDefSeq;
    CORBA_OperationMode operationMode;
    CORBA_ParameterMode parameterMode;
    CORBA_ParameterDescription* parameterDescription;
    CORBA_ParDescriptionSeq* parDescriptionSeq;
    CORBA_ExceptionDefSeq* exceptionDefSeq;
} YYSTYPE;
#define	IDL_ANY	258
#define	IDL_ATTRIBUTE	259
#define	IDL_BOOLEAN	260
#define	IDL_CASE	261
#define	IDL_CHAR	262
#define	IDL_CONST	263
#define	IDL_CONTEXT	264
#define	IDL_DEFAULT	265
#define	IDL_DOUBLE	266
#define	IDL_ENUM	267
#define	IDL_EXCEPTION	268
#define	IDL_FLOAT	269
#define	IDL_IN	270
#define	IDL_INOUT	271
#define	IDL_INTERFACE	272
#define	IDL_LONG	273
#define	IDL_MODULE	274
#define	IDL_OCTET	275
#define	IDL_ONEWAY	276
#define	IDL_OUT	277
#define	IDL_RAISES	278
#define	IDL_READONLY	279
#define	IDL_SEQUENCE	280
#define	IDL_SHORT	281
#define	IDL_STRING	282
#define	IDL_STRUCT	283
#define	IDL_SWITCH	284
#define	IDL_TYPEDEF	285
#define	IDL_UNSIGNED	286
#define	IDL_UNION	287
#define	IDL_VOID	288
#define	IDL_LEFT_SHIFT	289
#define	IDL_RIGHT_SHIFT	290
#define	IDL_SCOPE_DELIMITOR	291
#define	IDL_IDENTIFIER	292
#define	IDL_INTEGER_LITERAL	293
#define	IDL_STRING_LITERAL	294
#define	IDL_CHARACTER_LITERAL	295
#define	IDL_FLOATING_PT_LITERAL	296
#define	IDL_FALSE	297
#define	IDL_TRUE	298
#define	IDL_PRAGMA	299


extern YYSTYPE yylval;
