dcjcppsyn.hpp

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

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

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

#ifndef DcjCppSynHPP
#define DcjCppSynHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <mwExport.hpp>	// Pascal unit
#include <mwLocalStr.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 Dcjcppsyn
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TtkTokenKind { tkAsm, tkComment, tkDirective, tkIdentifier, tkKey, tkNull, tkNumber, tkSpace, tkString, 
	tkSymbol, tkUnknown };
#pragma option pop

#pragma option push -b-
enum TxtkTokenKind { xtkAdd, xtkAddAssign, xtkAnd, xtkAndAssign, xtkArrow, xtkAssign, xtkBitComplement, 
	xtkBraceClose, xtkBraceOpen, xtkColon, xtkComma, xtkDecrement, xtkDivide, xtkDivideAssign, xtkEllipse, 
	xtkGreaterThan, xtkGreaterThanEqual, xtkIncOr, xtkIncOrAssign, xtkIncrement, xtkLessThan, xtkLessThanEqual, 
	xtkLogAnd, xtkLogComplement, xtkLogEqual, xtkLogOr, xtkMod, xtkModAssign, xtkMultiplyAssign, xtkNotEqual, 
	xtkPoint, xtkQuestion, xtkRoundClose, xtkRoundOpen, xtkScopeResolution, xtkSemiColon, xtkShiftLeft, 
	xtkShiftLeftAssign, xtkShiftRight, xtkShiftRightAssign, xtkSquareClose, xtkSquareOpen, xtkStar, xtkSubtract, 
	xtkSubtractAssign, xtkXor, xtkXorAssign };
#pragma option pop

#pragma option push -b-
enum TRangeState { rsANil, rsAnsiC, rsAnsiCAsm, rsAnsiCAsmBlock, rsAsm, rsAsmBlock, rsUnKnown };
#pragma option pop

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

typedef TtkTokenKind __fastcall (__closure *TIdentFuncTableFunc)(void);

class DELPHICLASS TDcjCppSyn;
class PASCALIMPLEMENTATION TDcjCppSyn : public Mwhighlighter::TmwCustomHighLighter 
{
	typedef Mwhighlighter::TmwCustomHighLighter inherited;
	
private:
	bool fAsmStart;
	TRangeState fRange;
	char *fLine;
	TProcTableProc fProcTable[256];
	int Run;
	int FRoundCount;
	int FSquareCount;
	int fStringLen;
	char *fToIdent;
	int fTokenPos;
	TtkTokenKind FTokenID;
	TxtkTokenKind FExtTokenID;
	int fLineNumber;
	TIdentFuncTableFunc fIdentFuncTable[207];
	Mwhighlighter::TmwHighLightAttributes* fAsmAttri;
	Mwhighlighter::TmwHighLightAttributes* fCommentAttri;
	Mwhighlighter::TmwHighLightAttributes* fDirecAttri;
	Mwhighlighter::TmwHighLightAttributes* fIdentifierAttri;
	Mwhighlighter::TmwHighLightAttributes* fInvalidAttri;
	Mwhighlighter::TmwHighLightAttributes* fKeyAttri;
	Mwhighlighter::TmwHighLightAttributes* fNumberAttri;
	Mwhighlighter::TmwHighLightAttributes* fSpaceAttri;
	Mwhighlighter::TmwHighLightAttributes* fStringAttri;
	Mwhighlighter::TmwHighLightAttributes* fSymbolAttri;
	int __fastcall KeyHash(char * ToHash);
	bool __fastcall KeyComp(const AnsiString aKey);
	TtkTokenKind __fastcall Func17(void);
	TtkTokenKind __fastcall Func21(void);
	TtkTokenKind __fastcall Func32(void);
	TtkTokenKind __fastcall Func34(void);
	TtkTokenKind __fastcall Func36(void);
	TtkTokenKind __fastcall Func40(void);
	TtkTokenKind __fastcall Func42(void);
	TtkTokenKind __fastcall Func45(void);
	TtkTokenKind __fastcall Func46(void);
	TtkTokenKind __fastcall Func48(void);
	TtkTokenKind __fastcall Func52(void);
	TtkTokenKind __fastcall Func54(void);
	TtkTokenKind __fastcall Func57(void);
	TtkTokenKind __fastcall Func58(void);
	TtkTokenKind __fastcall Func59(void);
	TtkTokenKind __fastcall Func60(void);
	TtkTokenKind __fastcall Func61(void);
	TtkTokenKind __fastcall Func62(void);
	TtkTokenKind __fastcall Func64(void);
	TtkTokenKind __fastcall Func65(void);
	TtkTokenKind __fastcall Func66(void);
	TtkTokenKind __fastcall Func67(void);
	TtkTokenKind __fastcall Func68(void);
	TtkTokenKind __fastcall Func69(void);
	TtkTokenKind __fastcall Func71(void);
	TtkTokenKind __fastcall Func74(void);
	TtkTokenKind __fastcall Func75(void);
	TtkTokenKind __fastcall Func76(void);
	TtkTokenKind __fastcall Func78(void);
	TtkTokenKind __fastcall Func79(void);
	TtkTokenKind __fastcall Func81(void);
	TtkTokenKind __fastcall Func82(void);
	TtkTokenKind __fastcall Func85(void);
	TtkTokenKind __fastcall Func86(void);
	TtkTokenKind __fastcall Func88(void);
	TtkTokenKind __fastcall Func89(void);
	TtkTokenKind __fastcall Func92(void);
	TtkTokenKind __fastcall Func97(void);
	TtkTokenKind __fastcall Func98(void);
	TtkTokenKind __fastcall Func100(void);
	TtkTokenKind __fastcall Func101(void);
	TtkTokenKind __fastcall Func102(void);
	TtkTokenKind __fastcall Func104(void);
	TtkTokenKind __fastcall Func105(void);
	TtkTokenKind __fastcall Func106(void);
	TtkTokenKind __fastcall Func107(void);
	TtkTokenKind __fastcall Func109(void);
	TtkTokenKind __fastcall Func110(void);
	TtkTokenKind __fastcall Func115(void);
	TtkTokenKind __fastcall Func116(void);
	TtkTokenKind __fastcall Func123(void);
	TtkTokenKind __fastcall Func125(void);
	TtkTokenKind __fastcall Func141(void);
	TtkTokenKind __fastcall Func206(void);
	void __fastcall AnsiCProc(void);
	void __fastcall AndSymbolProc(void);
	void __fastcall AsciiCharProc(void);
	void __fastcall AtSymbolProc(void);
	void __fastcall BraceCloseProc(void);
	void __fastcall BraceOpenProc(void);
	void __fastcall CRProc(void);
	void __fastcall ColonProc(void);
	void __fastcall CommaProc(void);
	void __fastcall DirectiveProc(void);
	void __fastcall EqualProc(void);
	void __fastcall GreaterProc(void);
	void __fastcall IdentProc(void);
	void __fastcall LFProc(void);
	void __fastcall LowerProc(void);
	void __fastcall MinusProc(void);
	void __fastcall ModSymbolProc(void);
	void __fastcall NotSymbolProc(void);
	void __fastcall NullProc(void);
	void __fastcall NumberProc(void);
	void __fastcall OrSymbolProc(void);
	void __fastcall PlusProc(void);
	void __fastcall PointProc(void);
	void __fastcall QuestionProc(void);
	void __fastcall RoundCloseProc(void);
	void __fastcall RoundOpenProc(void);
	void __fastcall SemiColonProc(void);
	void __fastcall SlashProc(void);
	void __fastcall SpaceProc(void);
	void __fastcall SquareCloseProc(void);
	void __fastcall SquareOpenProc(void);
	void __fastcall StarProc(void);
	void __fastcall StringProc(void);
	void __fastcall TildeProc(void);
	void __fastcall XOrSymbolProc(void);
	void __fastcall UnknownProc(void);
	TtkTokenKind __fastcall AltFunc(void);
	void __fastcall InitIdent(void);
	TtkTokenKind __fastcall IdentKind(char * MayBe);
	void __fastcall MakeMethodTables(void);
	
protected:
	virtual Mwhighlighter::TIdentChars __fastcall GetIdentChars();
	virtual AnsiString __fastcall GetLanguageName();
	virtual Mwhighlighter::THighlighterCapability __fastcall GetCapability(void);
	TxtkTokenKind __fastcall GetExtTokenID(void);
	
public:
	__fastcall virtual TDcjCppSyn(Classes::TComponent* AOwner);
	virtual void __fastcall ExportNext(void);
	virtual bool __fastcall GetEol(void);
	virtual void * __fastcall GetRange(void);
	TtkTokenKind __fastcall GetTokenID(void);
	virtual void __fastcall SetLine(AnsiString NewValue, int LineNumber);
	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 SetLineForExport(AnsiString NewValue);
	virtual void __fastcall SetRange(void * Value);
	virtual void __fastcall ReSetRange(void);
	virtual bool __fastcall UseUserSettings(int settingIndex);
	virtual void __fastcall EnumUserSettings(Classes::TStrings* settings);
	__property IdentChars ;
	__property LanguageName ;
	__property AttrCount ;
	__property Attribute ;
	__property Capability ;
	__property TxtkTokenKind ExtTokenID = {read=GetExtTokenID, nodefault};
	
__published:
	__property Mwhighlighter::TmwHighLightAttributes* AsmAttri = {read=fAsmAttri, write=fAsmAttri};
	__property Mwhighlighter::TmwHighLightAttributes* CommentAttri = {read=fCommentAttri, write=fCommentAttri
		};
	__property Mwhighlighter::TmwHighLightAttributes* DirecAttri = {read=fDirecAttri, write=fDirecAttri
		};
	__property Mwhighlighter::TmwHighLightAttributes* IdentifierAttri = {read=fIdentifierAttri, write=fIdentifierAttri
		};
	__property Mwhighlighter::TmwHighLightAttributes* InvalidAttri = {read=fInvalidAttri, write=fInvalidAttri
		};
	__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* StringAttri = {read=fStringAttri, write=fStringAttri
		};
	__property Mwhighlighter::TmwHighLightAttributes* SymbolAttri = {read=fSymbolAttri, write=fSymbolAttri
		};
public:
	#pragma option push -w-inl
	/* TmwCustomHighLighter.Destroy */ inline __fastcall virtual ~TDcjCppSyn(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE TDcjCppSyn* DcjCppLex;
extern PACKAGE void __fastcall Register(void);

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

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

⌨️ 快捷键说明

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