Class ASymbolTableVector

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type ASymbolTableVector = class(AnObjectVector)

Description

This class represents a symbol table vector, which organizes instances of ASymbolTable into a linear array. This allows symbol tables to be organized into scopes, with each symbol table representing a single scope. Generally speaking, there will be at least one symbol table in ASymbolTableVector, corresponding to SYMSCOPE_GLOBAL, or the global scope, which represents symbols that are available everywhere in a compiled program. Instances of ASymbolTableVector will likely be used in the process of parsing source into an intermediate code file.

Hierarchy

Overview

Methods

Public function TableAt(const thisScope: TSymbolScope): ASymbolTable; virtual;
Public procedure pushTable(const ThisTable: ASymbolTable); virtual;
Public function appendTable(const ThisTable: ASymbolTable): longword; virtual;

Description

Methods

Public function TableAt(const thisScope: TSymbolScope): ASymbolTable; virtual;

Fetch the symbol table at the specified index.

This method simply calls AnObjectVector.ObjectAt and then casts the result to an instance of ASymbolTable.

Public procedure pushTable(const ThisTable: ASymbolTable); virtual;

Push the specified symbol table onto the end of the vector.

This method simply calls AnObjectVector.pushObject.

Public function appendTable(const ThisTable: ASymbolTable): longword; virtual;

Add the specified table to the vector and return its index.

This method simply calls AnObjectVector.appendObject and returns the result.


Generated by PasDoc 0.13.0 on 2015-01-10 17:13:18