typedef union { Module *ModuleVal; Method *MethodVal; MethodArgument *MethArgVal; BasicBlock *BasicBlockVal; TerminatorInst *TermInstVal; Instruction *InstVal; ConstPoolVal *ConstVal; const Type *TypeVal; list *MethodArgList; list *ValueList; list *TypeList; list > *PHIList; // Represent the RHS of PHI node list > *JumpTable; vector *ConstVector; int64_t SInt64Val; uint64_t UInt64Val; int SIntVal; unsigned UIntVal; char *StrVal; // This memory is allocated by strdup! ValID ValIDVal; // May contain memory allocated by strdup Instruction::UnaryOps UnaryOpVal; Instruction::BinaryOps BinaryOpVal; Instruction::TermOps TermOpVal; Instruction::MemoryOps MemOpVal; } YYSTYPE; #define ESINT64VAL 257 #define EUINT64VAL 258 #define SINTVAL 259 #define UINTVAL 260 #define VOID 261 #define BOOL 262 #define SBYTE 263 #define UBYTE 264 #define SHORT 265 #define USHORT 266 #define INT 267 #define UINT 268 #define LONG 269 #define ULONG 270 #define FLOAT 271 #define DOUBLE 272 #define STRING 273 #define TYPE 274 #define LABEL 275 #define VAR_ID 276 #define LABELSTR 277 #define STRINGCONSTANT 278 #define IMPLEMENTATION 279 #define TRUE 280 #define FALSE 281 #define BEGINTOK 282 #define END 283 #define DECLARE 284 #define TO 285 #define PHI 286 #define CALL 287 #define CAST 288 #define RET 289 #define BR 290 #define SWITCH 291 #define NOT 292 #define ADD 293 #define SUB 294 #define MUL 295 #define DIV 296 #define REM 297 #define SETLE 298 #define SETGE 299 #define SETLT 300 #define SETGT 301 #define SETEQ 302 #define SETNE 303 #define MALLOC 304 #define ALLOCA 305 #define FREE 306 #define LOAD 307 #define STORE 308 #define GETFIELD 309 #define PUTFIELD 310 extern YYSTYPE llvmAsmlval;