Files
bds.mr.dpg/src.rtl/dpgrtl.parserstate.pas
T
2026-01-03 18:32:50 +01:00

126 lines
4.8 KiB
ObjectPascal

unit dpgrtl.parserstate;
interface
uses
dpgrtl.types;
type
TParserState = class( TInterfacedObject, IParserState)
protected
fFileName : string;
fGuessing : integer;
fInputBuffer : ITokenBuffer;
// ----------------------------------------------------------------------
// IParserState
// ----------------------------------------------------------------------
protected
function GetInputBuffer : ITokenBuffer;
function GetFileName : string;
function GetGuessing : integer;
procedure SetFileName( Value: string);
procedure SetGuessing( Value: integer);
// ----------------------------------------------------------------------
// Construction/destruction
// ----------------------------------------------------------------------
public
constructor Create( ABuffer: ITokenBuffer);
procedure AfterConstruction; override;
procedure BeforeDestruction; override;
end;
implementation
{ TParserState }
// @@@: Construction/destruction ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
// Construction/destruction
//
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ================================================================================================
// Constructor
// ================================================================================================
constructor TParserState.Create(ABuffer: ITokenBuffer);
begin
inherited Create;
fInputBuffer := ABuffer
end;
// ================================================================================================
// After Construction
// ================================================================================================
procedure TParserState.AfterConstruction;
begin
inherited;
fFileName := '';
fGuessing := 0
end;
// ================================================================================================
// Before Destruction
// ================================================================================================
procedure TParserState.BeforeDestruction;
begin
fInputBuffer := nil;
inherited
end;
// @@@: IParserState implementation +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
// IParserState implementation
//
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ================================================================================================
// Get File Name
// ================================================================================================
function TParserState.GetFileName: string;
begin
result := fFileName
end;
// ================================================================================================
// Get Guessing
// ================================================================================================
function TParserState.GetGuessing: integer;
begin
result := fGuessing
end;
// ================================================================================================
// Get Input Buffer
// ================================================================================================
function TParserState.GetInputBuffer: ITokenBuffer;
begin
result := fInputBuffer
end;
// ================================================================================================
// Set File Name
// ================================================================================================
procedure TParserState.SetFileName(Value: string);
begin
fFileName := Value
end;
// ================================================================================================
// Set Guessing
// ================================================================================================
procedure TParserState.SetGuessing(Value: integer);
begin
fGuessing := Value
end;
end.