The SUIF Library
A set of core routines for manipulating SUIF data structures
Stanford Compiler Group
An Overview of SUIF
The File Level
The Procedure Level
The Instruction Level
Symbolic Information
Other Data
Representation of Source Files
The File Set
File Set Entries
Abstract Syntax Trees
Tree Nodes
ID Numbers for Tree Nodes and Instructions
Other Features Shared by All Tree Nodes
Instruction Nodes
If Nodes
Loop Nodes
For Nodes
Block Nodes
Procedure Nodes
Tree Node Lists
Mapping Functions Over Subtrees
Instructions and Expression Trees
Basic Instruction Features
Opcodes and Formats
Destination Operands
Result Types
Parent Tree Nodes
Source Operands
Printing Methods
Operands
Expression Trees
Three Operand Instructions
Branch and Jump Instructions
Load Constant Instructions
Call Instructions
Array Instructions
Multi-way Branch Instructions
Label Instructions
Generic Instructions
Symbol Tables
Symbol Table Hierarchy
The Global Symbol Table
File Symbol Tables
Procedure Symbol Tables
Block Symbol Tables
Basic Features
Lookup Methods
Creating New Entries
Adding and Removing Entries
Numbering Types and Symbols
Symbols
Basic Features of Symbols
Procedure Symbols
Label Symbols
Variable Symbols
Basic Features of Variables
Sub-Variables
Variable Definitions
Types
Features Shared By All Types
Base Types
Pointer Types
Array Types
Function Types
Structure and Union Types
Enumerated Types
Modifier Types
Predefined Types
Annotations
Overview
Flat Annotations
Structured Annotations
Unregistered Annotations
Predefined Annotations
Initial Data Annotations
Call-By-Reference Annotations
Common Block Annotations
Miscellaneous Annotations
Annotation Manager
Flat Annotation Definitions
Structured Annotation Definitions
Unregistered Annotations in the Input File
SUIF Objects
Annotation Lists
Replicating Trees and Instructions
Finding Exposed References
Resolving Exposed References
Copying the Objects
Features for Compiling Fortran
Call-By-Reference Parameters
Generic Data Structures
Generic Lists
Move-to-front Lists
Association Lists
Doubly-Linked Lists
Bit Vectors
Hash Tables
Extensible Arrays
Other Features of the SUIF Library
Immediate Values
Symbolic Addresses
Lexicon
Target Machine Parameters
Initialization and Finalization
Command-Line Parser
Error Handling
Procedure Iterators
Appendix
Class Inheritance of Major SUIF Structures
Overview of the SUIF Hierarchy
The Symbol Table Representation
Function, Variable, and Type Index
Concept Index