Related articles |
---|
Symbol Table Design Michael.Schneider@sdrc.com (1994-08-01) |
Newsgroups: | comp.compilers |
From: | Michael.Schneider@sdrc.com (Michael Schneider) |
Keywords: | design, question |
Organization: | Compilers Central |
Date: | Mon, 1 Aug 1994 14:49:48 GMT |
Status: | RO |
I'm gathering information to create an Abstract Data Type definition
for a symbol table. I'm looking for information on two levels:
Rough Requirements:
-Support Block Scoping
-Support Nested Data Types (Struct that contains Struct that Contains Struct..)
-Export/Import of Data in Nested Structure (C++ public, private, protected)
-Support User Defined Types
-Support Functions (pass by Value, pass by Reference,
return of function and environment)
-Support Overloading of Function Names
LEVEL 1: Client Interface to symbol table data
This level defines the interface to the symbol table package.
Issues:
- Interface for block scope
StartBlock()
EndBlock() ???
- Interface for "named scope"
Struct
{
int x;
struct
{
double x;
}
}
- Provide Type Definition for identifier
Class - Varible, Function, Constant
Type - Integer, Float, Struct, ...
Type Modifier - const, static, .....
Level 2 : Implementation
How do you represent data shown above. I am interested in the
different methods to manage access to struct items (C++ public, private,
protected).
I am also interested in different methods to represent types for a symbol
table entry.
Rough Start ______________
Symbol Table(Symbol Table Nodes) - Hash table based on Identifier
Symbol Table Node (Identifier + SymbolTableNodeDef)
Numeric Symbol Table Node Def (Scope Id + (value) + Mem location )
Function Symbol Table Node Def ( ....) ?????????????
Structure Symbol Table Node Def (.....) ?????????????
Structure Item Symbol Table Node Def (.......) ??????????????
......
Thanks in advance for any pointer to articles, or personal experience
Mike
Mail @ Michael.Schneider@sdrc.com
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.