Class TGuard

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TGuard = class(TSymbol)

Description

no description available, TSymbol description follows

Terminal or non-terminal symbol of the grammar.

This is an item of double-linked list TProduction. Note that one TProduction instance may be used many times (by many TNonTerminal symbols), however each TSymbol instance can be used in only one TProduction instance — so that Next and Previous fields have sense.

Hierarchy

Overview

Methods

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

Properties

Public property ParentProduction: TProduction read FParentProduction;

Description

Methods

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

Properties

Public property ParentProduction: TProduction read FParentProduction;

Note that only the TGuard has ParentProduction, not all TSymbol.

Reason: if all symbols had ParentProduction, then we would have to change it when doing ExpandIfUnderusedProduction, and this would make this operation run in longer than O(1) time.


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