Partial support for integer divisions in access vectors
[suif.git] / html / suif1_44.html
blob476517acbd02e50ab4edf170166ca3a246af5578
1 <HTML>
2 <HEAD>
3 <!-- This HTML file has been created by texi2html 1.54
4 from suif1.texi on 28 April 1999 -->
6 <TITLE>The SUIF Version 1 Library - Procedure Symbol Tables</TITLE>
7 <link href="suif1_45.html" rel=Next>
8 <link href="suif1_43.html" rel=Previous>
9 <link href="suif1_toc.html" rel=ToC>
11 </HEAD>
12 <BODY>
13 <p>Go to the <A HREF="suif1_1.html">first</A>, <A HREF="suif1_43.html">previous</A>, <A HREF="suif1_45.html">next</A>, <A HREF="suif1_113.html">last</A> section, <A HREF="suif1_toc.html">table of contents</A>.
14 <P><HR><P>
17 <H3><A NAME="SEC44" HREF="suif1_toc.html#TOC44">Procedure Symbol Tables</A></H3>
18 <P>
19 <A NAME="IDX272"></A>
20 <A NAME="IDX273"></A>
22 </P>
23 <P>
24 <A NAME="IDX274"></A>
25 Procedure symbol tables represent the top-level scopes within procedures
26 and are associated with the <CODE>tree_proc</CODE> objects at the roots of the
27 abstract syntax trees for the procedures. See section <A HREF="suif1_19.html#SEC19">Procedure Nodes</A>.
28 Because the procedure symbol tables provide a superset of the block
29 symbol table functions, they are implemented by deriving the
30 <CODE>proc_symtab</CODE> class from the <CODE>block_symtab</CODE> class. Thus, all
31 of the <CODE>block_symtab</CODE> methods can also be applied to
32 <CODE>proc_symtab</CODE> objects.
34 </P>
35 <P>
36 <A NAME="IDX275"></A>
37 <A NAME="IDX276"></A>
38 <A NAME="IDX277"></A>
39 Besides the inherited methods, the procedure symbol tables have some
40 added features. Each procedure symbol table contains a list of the
41 formal parameters for the procedure. The <CODE>params</CODE> method returns a
42 pointer to this list. The entries on this list must be pointers to
43 symbols for variables that are contained within the procedure symbol
44 table. (Formal parameters cannot be global variables or local variables
45 in inner scopes.) The symbols are listed in order. If the function
46 type for the procedure specifies the parameter types, they should match
47 the types of the variables on the parameter list.
49 </P>
50 <P>
51 The procedure symbol table also records the next instruction ID number
52 for the procedure (see section <A HREF="suif1_12.html#SEC12">ID Numbers for Tree Nodes and Instructions</A>). The <CODE>number_locals</CODE> method
53 handles the task of assigning ID numbers to the symbols and types in
54 symbol tables within the procedure (see section <A HREF="suif1_50.html#SEC50">Numbering Types and Symbols</A>).
56 </P>
58 <P><HR><P>
59 <p>Go to the <A HREF="suif1_1.html">first</A>, <A HREF="suif1_43.html">previous</A>, <A HREF="suif1_45.html">next</A>, <A HREF="suif1_113.html">last</A> section, <A HREF="suif1_toc.html">table of contents</A>.
60 </BODY>
61 </HTML>