hkawksyn.hpp

来自「本人买的<<VC++项目开发实例>>源代码配套光盘.」· HPP 代码 · 共 143 行

HPP
143
字号
// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'hkAWKSyn.pas' rev: 5.00

#ifndef hkAWKSynHPP
#define hkAWKSynHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <mwLocalStr.hpp>	// Pascal unit
#include <mwExport.hpp>	// Pascal unit
#include <mwHighlighter.hpp>	// Pascal unit
#include <Registry.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Hkawksyn
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TtkTokenKind { tkComment, tkIdentifier, tkInterFunc, tkKey, tkNull, tkNumber, tkSpace, tkString, 
	tkSymbol, tkSysVar, tkUnknown };
#pragma option pop

#pragma option push -b-
enum TRangeState { rsUnKnown };
#pragma option pop

typedef void __fastcall (__closure *TProcTableProc)(void);

class DELPHICLASS ThkAWKSyn;
class PASCALIMPLEMENTATION ThkAWKSyn : public Mwhighlighter::TmwCustomHighLighter 
{
	typedef Mwhighlighter::TmwCustomHighLighter inherited;
	
private:
	Classes::TStringList* AWKSyntaxList;
	TRangeState fRange;
	char *fLine;
	TProcTableProc fProcTable[256];
	int Run;
	int fTokenPos;
	TtkTokenKind FTokenID;
	Mwhighlighter::TmwHighLightAttributes* fCommentAttri;
	Mwhighlighter::TmwHighLightAttributes* fIdentifierAttri;
	Mwhighlighter::TmwHighLightAttributes* fInterFuncAttri;
	Mwhighlighter::TmwHighLightAttributes* fKeyAttri;
	Mwhighlighter::TmwHighLightAttributes* fNumberAttri;
	Mwhighlighter::TmwHighLightAttributes* fSpaceAttri;
	Mwhighlighter::TmwHighLightAttributes* fStringAttri;
	Mwhighlighter::TmwHighLightAttributes* fSymbolAttri;
	Mwhighlighter::TmwHighLightAttributes* fSysVarAttri;
	int fLineNumber;
	void __fastcall AndProc(void);
	void __fastcall CommentProc(void);
	void __fastcall CRProc(void);
	void __fastcall ExclamProc(void);
	void __fastcall FieldRefProc(void);
	void __fastcall IdentProc(void);
	void __fastcall LFProc(void);
	void __fastcall MakeMethodTables(void);
	void __fastcall MakeSyntaxList(void);
	void __fastcall MinusProc(void);
	void __fastcall NullProc(void);
	void __fastcall OpInputProc(void);
	void __fastcall OrProc(void);
	void __fastcall PlusProc(void);
	void __fastcall QuestionProc(void);
	void __fastcall SpaceProc(void);
	void __fastcall StringProc(void);
	void __fastcall SymbolProc(void);
	void __fastcall NumberProc(void);
	void __fastcall BraceProc(void);
	
protected:
	virtual Mwhighlighter::TIdentChars __fastcall GetIdentChars();
	virtual Mwhighlighter::THighlighterCapability __fastcall GetCapability(void);
	virtual AnsiString __fastcall GetLanguageName();
	
public:
	__fastcall virtual ThkAWKSyn(Classes::TComponent* AOwner);
	__fastcall virtual ~ThkAWKSyn(void);
	virtual bool __fastcall GetEol(void);
	virtual void * __fastcall GetRange(void);
	TtkTokenKind __fastcall GetTokenID(void);
	virtual AnsiString __fastcall GetToken();
	virtual Mwhighlighter::TmwHighLightAttributes* __fastcall GetTokenAttribute(void);
	virtual int __fastcall GetTokenKind(void);
	virtual int __fastcall GetTokenPos(void);
	virtual void __fastcall Next(void);
	virtual void __fastcall ReSetRange(void);
	virtual void __fastcall SetLine(AnsiString NewValue, int LineNumber);
	virtual void __fastcall SetRange(void * Value);
	virtual void __fastcall SetLineForExport(AnsiString NewValue);
	virtual void __fastcall ExportNext(void);
	
__published:
	__property Mwhighlighter::TmwHighLightAttributes* CommentAttri = {read=fCommentAttri, write=fCommentAttri
		};
	__property Mwhighlighter::TmwHighLightAttributes* IdentifierAttri = {read=fIdentifierAttri, write=fIdentifierAttri
		};
	__property Mwhighlighter::TmwHighLightAttributes* InterFuncAttri = {read=fInterFuncAttri, write=fInterFuncAttri
		};
	__property Mwhighlighter::TmwHighLightAttributes* KeyAttri = {read=fKeyAttri, write=fKeyAttri};
	__property Mwhighlighter::TmwHighLightAttributes* NumberAttri = {read=fNumberAttri, write=fNumberAttri
		};
	__property Mwhighlighter::TmwHighLightAttributes* SpaceAttri = {read=fSpaceAttri, write=fSpaceAttri
		};
	__property Mwhighlighter::TmwHighLightAttributes* SymbolAttri = {read=fSymbolAttri, write=fSymbolAttri
		};
	__property Mwhighlighter::TmwHighLightAttributes* SysVarAttri = {read=fSysVarAttri, write=fSysVarAttri
		};
	__property Mwhighlighter::TmwHighLightAttributes* StringAttri = {read=fStringAttri, write=fStringAttri
		};
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE ThkAWKSyn* hkAWKLex;
extern PACKAGE void __fastcall Register(void);

}	/* namespace Hkawksyn */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Hkawksyn;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// hkAWKSyn

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?