The FileSetBlock is the root of a program in the SUIF representation.
concrete FileSetBlock : AnnotableObject
{
BasicSymbolTable* owner external_symbol_table
build {create_basic_symbol_table()};
BasicSymbolTable* owner file_set_symbol_table
build {create_basic_symbol_table()};
list<FileBlock* owner> file_blocks;
list<GlobalInformationBlock* owner> information_blocks;
};
Fields:
| external_symbol_table | contains the symbols and types visible to the outside |
| file_set_symbol_table | contains the symbols and types visible to the whole programs |
| file_blocks | each file block contains the intermediate representation for one source file |
| information_blocks | a list of different kinds of global information for the entire program. |