トークン読み込み用クラス (C#用)

これまでC# で作成してきた「SourceToHTML」を、Delphi に焼きなおしてみます。

TokenReaderCSharp.pas


//*******************************************************************************************************
// トークンごとに 文字列と その種類を返す ( C#用 )
//*******************************************************************************************************
unit TokenReaderCSharp;

interface
uses
TokenReaderCase, TextReader;

type
TTokenReaderCSharp = class(TTokenReaderCase)

protected
function IsLiteral():Boolean;override;
procedure getNextStateStrLit();override;
public
constructor Create(reader:TTextReader; langType:string);override;
end;

implementation
//---------------------------------------------------------------------------------------------------
// 初期化
//---------------------------------------------------------------------------------------------------
constructor TTokenReaderCSharp.Create(reader:TTextReader; langType:string);
begin
inherited Create(reader, langType);
end;
//---------------------------------------------------------------------------------------------------
// 逐語的文字列か?
//---------------------------------------------------------------------------------------------------
function TTokenReaderCSharp.IsLiteral():Boolean;
begin
result := ((_context.currChar = '@') and (_context.nextChar = '"'));
end;
//---------------------------------------------------------------------------------------------------
// 状態を更新 (逐語的文字列)
//---------------------------------------------------------------------------------------------------
procedure TTokenReaderCSharp.getNextStateStrLit();
begin
inherited getNextStateStrLit();

if (Length(_context.currToken.tokenString) > 1) then
begin
if (_context.currChar = '"') then
_context.State := 'その他';
end;
end;

end.