/* %Z%%M% %I% %E% */ /* * Copyright (c) 1990, 1991, 1992, 1995 by Wayne C. Gramlich. * All rights reserved. * * Permission to use, copy, modify, distribute, and sell this software * for any purpose is hereby granted without fee provided that the above * copyright notice and this permission are retained. The author makes * no representations about the suitability of this software for any purpose. * It is provided "as is" without express or implied warranty. */ /* This file contains the gen data structure: */ #ifndef GEN_DEFS_H #define GEN_DEFS_H #ifndef CONVERT_TYPES_H #include "call_types.h" #endif #ifndef FLAGS_TYPES_H #include "flags_types.h" #endif #ifndef GEN_EXPORTS_H #include "gen_exports.h" #endif #ifndef HEAP_TYPES_H #include "heap_types.h" #endif #ifndef MSG_TYPES_H #include "msg_types.h" #endif #ifndef NEED_TYPES_H #include "need_types.h" #endif #ifndef OBJECT_TYPES_H #include "object_types.h" #endif #ifndef ROUTINE_TYPES_H #include "routine_types.h" #endif #ifndef TABLE_TYPES_H #include "table_types.h" #endif #ifndef TYPE_TYPES_H #include "type_types.h" #endif #ifndef UNIX_STDIO_H #include "unix_stdio.h" #endif #ifndef VECTOR_TYPES_H #include "vector_types.h" #endif struct Gen_struct { Convert convert; int debug; Flags flags; Str frame; /* Frame name (including '.' */ Heap heap; int linkage; /* 1 => gen. linkage info */ Vec(Statement_loop) loop_stack; Stdio out_file; Msg msg; int need_routine_ref; int need_type_ref; Object_table object_table; Str package_name; int patch; Routine routine; Routine_table routine_table; Vec(Type_ref) temps; Type_def_table type_def_table; Type_tables type_tables; }; #endif /* GEN_DEFS_H */