感谢李马的行云流水网站提供的 C 语言版 《Pascal 词法分析器》源代码,本程序以他的程序流程为思路,针对代码上色和格式化进行了功能扩展,用 Delphi7.0 编译通过,处理速度比较理想,欢迎大家发表意见。另外,近期将完成 C# 的处理程序。
本程序由于功能还待完善,暂不公布源代码,有需要源代码的朋友可以参考《Pascal 词法分析器》,需要程序的朋友可以留下 email 地址 。
处理样例如下:
unit MainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,StrUtils, DB, ADODB;
type
TForm1 = class(TForm)
Button1: TButton;
Memo: TMemo;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
ReserveWords:TStrings;
strOutput:string;
intPosition:integer;
procedure Analyzer();
function IsNumberic(ch: char):boolean;
function IsAlpha(ch: char): boolean;
function GetNextChar():Char;
procedure Processor(strInput:string);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ReserveWords:=TStringList.Create();
ReserveWords.LoadFromFile('关键字.txt');
end;