📄 unitparser.pas
字号:
unit UnitParser;
interface
uses classes,Sysutils,comctrls;
type
TParser=class
private
{ Private declarations }
public
procedure getchar;
function NextCh:char;
procedure concat;
procedure SetSrcFileName(AFileName:string);
procedure SetDesFileName(AFileName:string);
procedure AddHead(AFileName:string);virtual; abstract;
procedure AddTail(copyright:string);virtual; abstract;
procedure getbc; virtual; abstract;
function IsLetter:boolean; virtual; abstract;
function IsDigit:boolean; virtual; abstract;
function IsReserve:boolean; virtual; abstract;
procedure Convert(AProgressBar:TProgressBar); virtual; abstract;
procedure BeginString;virtual; abstract;
procedure EndString; virtual; abstract;
procedure BeginKeyword; virtual; abstract;
procedure EndKeyword; virtual; abstract;
procedure BeginComment; virtual; abstract;
procedure EndComment; virtual; abstract;
procedure BeginDigit; virtual; abstract;
procedure EndDigit; virtual; abstract;
procedure BeginSymb; virtual; abstract;
procedure EndSymb; virtual; abstract;
procedure BeginIndint; virtual; abstract;
procedure EndIndint; virtual; abstract;
function CovertSpecialCh(var s:string):boolean; virtual; abstract;
{ Public declarations }
protected
FKeywords: TStrings;
Token:string;
ch:char;
SrcFileName:string;
DesFileName:string;
OutStr:string;
SrcFile:TFileStream;
DesFile:TfileStream;
end;
implementation
{ TParser }
procedure TParser.concat;
begin
token:=token+ch;
end;
procedure TParser.getchar;
begin
SrcFile.Read(ch,sizeof(char));
end;
function TParser.NextCh: char;
var
chTem:char;
begin
SrcFile.Read(chTem,sizeof(char));
result:=chTem;
srcfile.Position:=srcfile.Position-1;
end;
procedure TParser.SetDesFileName(AFileName: string);
begin
DesFileName:=AFileName;
end;
procedure TParser.SetSrcFileName(AFileName: string);
begin
SrcFileName:=AFileName;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -