📄 mysqlparser.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 + -