Class TNonTerminal

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TNonTerminal = class(TSymbol)

Description

This is non-terminal.

Actually, this represents "an occurence of non-terminal within a rule" — i.e. the same non-terminal may be actually represented by many different TNonTerminal instances, all sharing the same Production. So (depending on what you want to get) actually the TProduction instance may be considered more accurate representation of non-terminal.

Hierarchy

Overview

Methods

Public constructor Create(AProduction: TProduction);
Public destructor Destroy; override;
Public function GraphLabel(LongNonTerminalNames: boolean): string; override;
Public function Name: string; override;
Public function CreateCopyContents: TSymbol; override;

Properties

Public property Production: TProduction read FProduction;

Description

Methods

Public constructor Create(AProduction: TProduction);
 
Public destructor Destroy; override;
 
Public function GraphLabel(LongNonTerminalNames: boolean): string; override;
 
Public function Name: string; override;
 
Public function CreateCopyContents: TSymbol; override;
 

Properties

Public property Production: TProduction read FProduction;

Production, i.e. what does this non-terminal expand to. Always non-nil.

This class takes care of operating Production.UsedCount — it's incremented when assigning initial Production, and decremented (and Production is eventually freed) when this class is destroyed.


Generated by PasDoc 0.10.0 on 2006-07-12 06:44:38