Remove a few more warnings.
[suif.git] / html / suif1_51.html
blobb5ea876a2752376411feb7fafde5a910f69fc28c
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 - Symbols</TITLE>
7 <link href="suif1_52.html" rel=Next>
8 <link href="suif1_50.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_50.html">previous</A>, <A HREF="suif1_52.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 <H1><A NAME="SEC51" HREF="suif1_toc.html#TOC51">Symbols</A></H1>
18 <P>
19 <A NAME="IDX331"></A>
21 </P>
22 <P>
23 <A NAME="IDX332"></A>
24 <A NAME="IDX333"></A>
25 <A NAME="IDX334"></A>
26 <A NAME="IDX335"></A>
27 SUIF symbols are stored in the symbol tables (see section <A HREF="suif1_40.html#SEC40">Symbol Tables</A>) to
28 represent variables, labels, and procedures. The <CODE>sym_node</CODE> class
29 is the base class for all SUIF symbols. This is an abstract class so it
30 cannot be used directly. The library also defines the
31 <CODE>sym_node_list</CODE> class for lists of pointers to symbols. Classes
32 are derived from the <CODE>sym_node</CODE> class for each kind of symbol.
33 Given an arbitrary symbol, the <CODE>kind</CODE> method identifies the kind of
34 symbol and thus the derived class to which it belongs. This method
35 returns a value from the <CODE>sym_kinds</CODE> enumerated type. The
36 following values are defined in that enumeration:
38 </P>
39 <DL COMPACT>
41 <DT><CODE>SYM_VAR</CODE>
42 <DD>
43 Variable symbol. The <CODE>var_sym</CODE> class represents variable symbols.
45 <DT><CODE>SYM_LABEL</CODE>
46 <DD>
47 Label symbol. The <CODE>label_sym</CODE> class represents label symbols.
49 <DT><CODE>SYM_PROC</CODE>
50 <DD>
51 Procedure symbol. The <CODE>proc_sym</CODE> class represents procedure symbols.
52 </DL>
54 <P>
55 All symbols share some common fields including the symbol names. These
56 are described in the first section below. Each kind of symbol also uses
57 additional fields that are specific to that kind. For example, variable
58 symbols specify the types of the variables. The subsequent sections
59 describe the specific features of each kind of symbol.
61 </P>
62 <P>
63 The <TT>`symbols.h'</TT> and <TT>`symbols.cc'</TT> files contain the source
64 code for SUIF symbols.
66 </P>
68 <UL>
69 <LI><A HREF="suif1_52.html#SEC52">Symbol Features</A>: Basic features of all symbols.
70 <LI><A HREF="suif1_53.html#SEC53">Procedure Symbols</A>: Procedures.
71 <LI><A HREF="suif1_54.html#SEC54">Label Symbols</A>: Labels.
72 <LI><A HREF="suif1_55.html#SEC55">Variable Symbols</A>: Variables.
73 </UL>
75 <P><HR><P>
76 <p>Go to the <A HREF="suif1_1.html">first</A>, <A HREF="suif1_50.html">previous</A>, <A HREF="suif1_52.html">next</A>, <A HREF="suif1_113.html">last</A> section, <A HREF="suif1_toc.html">table of contents</A>.
77 </BODY>
78 </HTML>