Javatpoint Logo
Javatpoint Logo

Symbol Table in C++

In this article, you will learn about the symbol table in C++.

Compiler Design symbol table

In order to store information on the existence of different entities, such as variable and function names, objects and classes, etc., the compiler builds and maintains a data structure. Symbol tables are one class of data structure.

C++ code for symbol table entry:

Example:

Output:

Found symbol A in the symbol table.
Symbol X not found in the symbol table.

Symbol table operations

There are several symbol table operations in C++. Some main symbol table operations in C++ are as follows:

Operate on the Symbol table.

A symbol table can use the Allocate Operation to allocate a brand-new, empty symbol table.

Operation Insert on the Symbol table

A symbol table's Insert Operation can be used to insert a name and return a pointer to the entry.

Operation Set_attribute on the Symbol table

Set_attribute is a symbol table that can be operated on to associate an attribute with a specific entry.

Operation Get_attribute on the Symbol table

Get_attribute is a symbol table that can be operated on to obtain an attribute connected to a specific entry.

Operation of Lookup on the Symbol Table

Lookup An operation on a symbol table can be used to look for a name and return a pointer to its entry.

Free Operation on the Symbol table

A symbol table's storage can be freed up by performing a Free Operation to remove every entry. On the symbol table, additional actions can be carried out in a similar manner to remove operations.

Deployment of the Symbol table

It is possible to implement symbol tables using a variety of data structure methods. The following techniques are listed:

  1. LinkedList
  2. Hash Table
  3. Tree

Implementation of symbol tables in C++ using hashing:

Output:

**** SYMBOL_TABLE ****

if insertion -successfully
number insertion -successfully

Identifier's Name:if
Type:keyword
Scope: local
Line Number: 4
Identifier Is present
if Identifier is deleted

Number Identifier updated
Identifier's Name:number
Type:variable
Scope: global
Line Number: 3
Identifier Is present

Conclusion:

The symbol table is a crucial tool for language processing systems which provides the essential infrastructure to manage the complicated semantics and behavior of identifiers in C programs. It is essential to make sure the code is executed correctly and efficiently.







Youtube For Videos Join Our Youtube Channel: Join Now

Feedback


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Preparation


Trending Technologies


B.Tech / MCA