⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysqlparser.hpp

📁 MYSQL 连接控件 MYSQL 连接控件
💻 HPP
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'MySQLParser.pas' rev: 6.00

#ifndef MySQLParserHPP
#define MySQLParserHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Contnrs.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Mysqlparser
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS EBasicParserError;
class PASCALIMPLEMENTATION EBasicParserError : public Sysutils::Exception 
{
	typedef Sysutils::Exception inherited;
	
public:
	#pragma option push -w-inl
	/* Exception.Create */ inline __fastcall EBasicParserError(const AnsiString Msg) : Sysutils::Exception(Msg) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall EBasicParserError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall EBasicParserError(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall EBasicParserError(int Ident, const System::TVarRec * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall EBasicParserError(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall EBasicParserError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResHelp */ inline __fastcall EBasicParserError(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall EBasicParserError(System::PResStringRec ResStringRec, const System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~EBasicParserError(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TTokenPosition { tpPrevious, tpCurrent, tpNext };
#pragma option pop

class DELPHICLASS TTokenProps;
class PASCALIMPLEMENTATION TTokenProps : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	int TokenPos;
	AnsiString TokenStr;
	char TokenType;
	void __fastcall Assign(TTokenProps* ATokenProps);
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TTokenProps(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TTokenProps(void) { }
	#pragma option pop
	
};


class DELPHICLASS TBasicParser;
class PASCALIMPLEMENTATION TBasicParser : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	int FTokenPosition;
	int FOrigin;
	char *FBuffer;
	char *FBufPtr;
	char *FSourcePtr;
	char *FSourceEnd;
	char *FTokenPtr;
	char *FStringPtr;
	int FSourceLine;
	TTokenProps* FToken;
	char FFloatType;
	void __fastcall SkipBlanks(bool SkipAllBlanks);
	TTokenProps* __fastcall GetTokenInRegion(TTokenPosition Index);
	
protected:
	Classes::TStringList* FOperators;
	AnsiString FHexDelim;
	AnsiString FStatementDelim;
	Classes::TStringList* FOneLineComment;
	Classes::TStringList* FCommentStart;
	Classes::TStringList* FCommentEnd;
	Classes::TStringList* FMacroStart;
	Classes::TStringList* FParamStart;
	Classes::TStringList* FMacroEnd;
	Contnrs::TObjectList* FRegionTokens;
	
public:
	__fastcall TBasicParser(const AnsiString Script);
	__fastcall virtual ~TBasicParser(void);
	void __fastcall Restart(const AnsiString Script);
	void __fastcall CheckToken(char T);
	void __fastcall CheckTokenSymbol(const AnsiString S);
	void __fastcall Error(const AnsiString Ident);
	void __fastcall ErrorFmt(const AnsiString Ident, const System::TVarRec * Args, const int Args_Size);
	void __fastcall ErrorStr(const AnsiString Message);
	TTokenProps* __fastcall NextToken(bool SkipAllBlanks);
	void __fastcall TokenAtPosition(int Position);
	int __fastcall SourcePos(void);
	Extended __fastcall TokenFloat(void);
	__int64 __fastcall TokenInt(void);
	AnsiString __fastcall TokenString();
	bool __fastcall TokenSymbolIs(const AnsiString S);
	__property char FloatType = {read=FFloatType, nodefault};
	__property int SourceLine = {read=FSourceLine, nodefault};
	__property char * SourcePtr = {read=FSourcePtr};
	__property TTokenProps* Token = {read=FToken};
	__property TTokenProps* RegionTokens[TTokenPosition Index] = {read=GetTokenInRegion};
	__property AnsiString HexDelimiter = {read=FHexDelim, write=FHexDelim};
	__property Classes::TStringList* OneLineComment = {read=FOneLineComment, write=FOneLineComment};
	__property Classes::TStringList* CommentStart = {read=FCommentStart, write=FCommentStart};
	__property Classes::TStringList* CommentEnd = {read=FCommentEnd, write=FCommentEnd};
	__property Classes::TStringList* ParamStart = {read=FParamStart, write=FParamStart};
	__property Classes::TStringList* MacroStart = {read=FMacroStart, write=FMacroStart};
	__property Classes::TStringList* MacroEnd = {read=FMacroEnd, write=FMacroEnd};
	__property Classes::TStringList* Operators = {read=FOperators, write=FOperators};
	__property int TokenPosition = {read=FTokenPosition, nodefault};
};


//-- var, const, procedure ---------------------------------------------------
static const char tsEOF = '\x0';
static const char tsSymbol = '\x1';
static const char tsString = '\x2';
static const char tsInteger = '\x3';
static const char tsFloat = '\x4';
static const char tsWString = '\x5';
static const char tsHex = '\x6';
static const char tsOperator = '\x7';
static const char tsComment = '\x8';
static const char tsCommentML = '\x9';
static const char tsEOL = '\xa';
static const char tsCommentMLEnd = '\xb';
static const char tsEOS = '\xc';
static const char tsMacro = '\xd';
static const char tsParam = '\xe';
static const char tsUndefined = '\x63';
extern PACKAGE void __fastcall ParseScript(Classes::TStrings* Script, bool AScript = false);
extern PACKAGE AnsiString __fastcall GetScriptType(Classes::TStrings* Script);

}	/* namespace Mysqlparser */
using namespace Mysqlparser;
#pragma option pop	// -w-
#pragma option pop	// -Vx

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

⌨️ 快捷键说明

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