Changeset 75 in dev for BasicCompiler_Common/common.h
- Timestamp:
- Mar 20, 2007, 4:36:16 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler_Common/common.h
r73 r75 37 37 #include "../BasicCompiler_Common/psapi.h" 38 38 #include "../BasicCompiler_Common/BreakPoint.h" 39 #include "../BasicCompiler_Common/LexicalScoping.h" 39 40 40 41 … … 152 153 #include "Const.h" 153 154 155 // 変数管理用のクラス 156 #include "Variable.h" 157 154 158 // パラメータ管理用のクラス 155 159 #include "Parameter.h" … … 172 176 173 177 //変数 174 #define REF_PARAMETER 1175 #define OBJECT_PARAMETER 2176 #define REF_VARIABLE 4177 178 struct VARIABLE{ 178 179 char name[255]; … … 219 220 }; 220 221 221 struct PARAMETER_INFO{222 char *name;223 int type;224 union{225 LONG_PTR index;226 CClass *pobj_c;227 }u;228 229 BOOL bByVal;230 BOOL bArray;231 int SubScripts[MAX_ARRAYDIM];232 };233 234 #define DECLARE_DYNAMIC 1235 #define DECLARE_STATIC 2236 struct DECLAREINFO{237 DWORD dwType;238 239 char *file;240 char *name;241 char *alias;242 BOOL bCdecl;243 244 //パラメータ245 PARAMETER_INFO *pParmInfo;246 int ParmNum;247 248 //戻り値249 int ReturnType;250 union{251 LONG_PTR ReturnIndex;252 CClass *Return_pobj_c;253 }u;254 255 union{256 int LookupAddress;257 int StaticProc_CodeAddress;258 };259 260 BOOL bUse;261 262 int pos;263 264 DECLAREINFO *pNextData;265 };266 struct PROCPTRINFO{267 PARAMETER_INFO *pParmInfo;268 int ParmNum;269 270 int ReturnType;271 union{272 LONG_PTR ReturnIndex;273 CClass *Return_pobj_c;274 }u;275 };276 222 struct CONSTINFO{ 277 223 char *name; … … 361 307 #include "../BasicCompiler_Common/PESchedule.h" 362 308 #include "../BasicCompiler_Common/DebugSection.h" 363 #include "../BasicCompiler_Common/LexicalScoping.h" 364 #include "../BasicCompiler_Common/Variable.h" 309 #include "../BasicCompiler_Common/VariableOpe.h" 365 310 #include "../BasicCompiler_Common/Exception.h" 366 311 367 312 368 313 369 int StaticCalculation(bool enableerror, const char *Command,int BaseType,_int64 *pi64data,LONG_PTR *plpIndex,BOOL bDebuggingWatchList=0);314 bool StaticCalculation(bool enableerror, const char *Command,int BaseType,_int64 *pi64data,Type &resultType,BOOL bDebuggingWatchList=0, bool *pIsMemoryAccessError=NULL); 370 315 371 316 … … 384 329 385 330 //hash.cpp 386 int hash_default(c har *name);331 int hash_default(const char *name); 387 332 CONSTINFO *GetConstHash(char *name); 388 D ECLAREINFO*GetDeclareHash(char *name);389 SubInfo*GetSubHash(const char *name,BOOL bError=0);390 SubInfo *GetMethodHash(char *ObjectName,char *MethodName,char *Parameter,BOOL bError=0);391 void GetOverloadSubHash( const char *lpszName, std::vector< SubInfo*> &subs );333 DllProc *GetDeclareHash(char *name); 334 UserProc *GetSubHash(const char *name,BOOL bError=0); 335 UserProc *GetMethodHash(const char *ObjectName,const char *MethodName,const char *Parameter,BOOL bError=0); 336 void GetOverloadSubHash( const char *lpszName, std::vector<UserProc *> &subs ); 392 337 393 338 //Object.cpp 394 void AddClassName(char *Parameter,int NowLine);395 void CallConstructor(char *VarName,int *SubScripts,TYPEINFO &TypeInfo,char *Parameter);339 void CallConstructor( const char *ObjectName,const int *SubScripts, const Type &type,const char *Parameter); 340 bool Operator_New( const char *expression, const Type &baseType, Type &resultType ); 396 341 397 342 //Overload.sbp 398 SubInfo*OverloadSolutionWithStrParam(343 UserProc *OverloadSolutionWithStrParam( 399 344 const char *name, 400 std::vector< SubInfo*> &subs,345 std::vector<UserProc *> &subs, 401 346 const char *Parameter, 402 const char *ObjectName, 403 TYPEINFO *pReturnTypeInfo); 404 SubInfo *OverloadSolution( 347 const char *ObjectName); 348 UserProc *OverloadSolution( 405 349 const char *name, 406 std::vector<SubInfo *> &subs, 407 const PARAMETER_INFO *ppi, 408 const int ParmNum, 409 TYPEINFO *pReturnTypeInfo); 350 std::vector<UserProc *> &subs, 351 const Parameters ¶ms, 352 const Type &returnType ); 410 353 411 354 //Debug.cpp … … 416 359 void Debugger_Pause(void); 417 360 ULONG_PTR rva_to_real(DWORD p); 418 SubInfo*GetSubFromObp(ULONG_PTR pos);361 UserProc *GetSubFromObp(ULONG_PTR pos); 419 362 void ReadOpBuffer(); 420 363 void DebugProgram(void); … … 428 371 ULONG_PTR Debugging_GetVarPtr(RELATIVE_VAR *pRelativeVar); 429 372 ULONG_PTR Debugging_GetThisPtrOffset(LONG_PTR obp_Rip); 430 int Debugging_GetVarOffset( char *variable,int *pType,RELATIVE_VAR *pRelativeVar,LONG_PTR *plpIndex,int *pss);373 int Debugging_GetVarOffset( char *variable,RELATIVE_VAR *pRelativeVar, Type &resultType, int *pss); 431 374 432 375 //MakeExe.cpp … … 462 405 463 406 //CommandFormat.cpp 464 void ComOpen(char *Parameter,char *buffer,int NowLine);407 void ComOpen(char *Parameter,char *buffer,int nowLine); 465 408 void ComClose(char *Parameter,char *buffer); 466 409 void ComField(char *Parameter,char *buffer); 467 void ComLine(char *Parameter,char *buffer,int NowLine);468 void ComCircle(char *Parameter,char *buffer,int NowLine);469 void ComPSet(char *Parameter,char *buffer,int NowLine);470 void ComPaint(char *Parameter,char *buffer,int NowLine);410 void ComLine(char *Parameter,char *buffer,int nowLine); 411 void ComCircle(char *Parameter,char *buffer,int nowLine); 412 void ComPSet(char *Parameter,char *buffer,int nowLine); 413 void ComPaint(char *Parameter,char *buffer,int nowLine); 471 414 472 415 // StrOperation.cpp … … 512 455 BOOL GetConstCalcBuffer(char *name,char *Parameter,char *pCalcBuffer); 513 456 DWORD GetConstValue(char *name,double *dbl,char *buffer,LONG_PTR *plpIndex); 514 bool IsStringObjectType(const T YPEINFO&TypeInfo);457 bool IsStringObjectType(const Type &TypeInfo); 515 458 int IsStrCalculation(char *Command); 516 459 BYTE GetCalcId(const char *Command,int *pi); … … 518 461 char *values[255],long calc[255],long stack[255]); 519 462 520 //NumOpe_GetType _Old.cpp463 //NumOpe_GetType.cpp 521 464 int AutoBigCast(int BaseType,int CalcType); 522 465 BOOL CheckCalcType(int idCalc,int *type,int sp); 523 int NumOpe_GetType_Old( const char *Command, TYPEINFO *pBaseTypeInfo, LONG_PTR *plpIndex );524 466 bool NumOpe_GetType( const char *expression, const Type &baseType, Type &resultType ); 525 467 … … 529 471 void SplitObjectName(const char *name,char *ObjectName,int *pRefType); 530 472 bool SplitMemberName( const char *desc, char *object, char *member ); 531 int CallProc(int idProc,void *pInfo,char *name,char *Parameter,LONG_PTR *plpRetIndex); 532 BOOL CallPropertyMethod(char *variable,char *RightSide,TYPEINFO *pRetTypeInfo); 533 int GetReturnTypeOfProc(int idProc,void *pInfo,char *name,char *Parameter,LONG_PTR *plpRetIndex); 534 BOOL GetReturnTypeOfPropertyMethod(char *variable,char *RightSide,TYPEINFO *pRetTypeInfo); 535 bool GetReturnTypeOfIndexerGetterProc(CClass *pobj_Class,TYPEINFO &RetTypeInfo); 536 BOOL CompareParameter(PARAMETER_INFO *ppi1,int pi_num1,PARAMETER_INFO *ppi2,int pi_num2); 537 SubInfo *AddSubData(char *buffer,int NowLine,BOOL bVirtual,CClass *pobj_c,BOOL bStatic=0); 473 bool CallProc( int kind, const void *pProc, const char *fullCallName, const char *lpszParms, Type &resultType, bool isCallOn = true ); 474 bool CallPropertyMethod( const char *variable, const char *rightSide, Type &resultType); 475 bool GetReturnTypeOfPropertyMethod( const char *variable, const char *rightSide, Type &resultType ); 476 bool GetReturnTypeOfIndexerGetterProc( const CClass &objClass, Type &resultType ); 477 UserProc *AddSubData(char *buffer,int nowLine,BOOL bVirtual,CClass *pobj_c, bool isStatic = false ); 538 478 void GetSubInfo(void); 539 void DeleteSubInfo( SubInfo**ppSubHash,char **ppMacroNames,int MacroNum);479 void DeleteSubInfo(UserProc **ppSubHash,char **ppMacroNames,int MacroNum); 540 480 void DeleteDeclareInfo(void); 541 int AddProcPtrInfo( char *buffer,DWORD dwProcType);481 int AddProcPtrInfo( char *buffer, DWORD dwProcType, int nowLine ); 542 482 void DeleteProcPtrInfo(void); 543 483 … … 581 521 //error.cpp 582 522 void SetError(int ErrorNum,const char *KeyWord,int pos); 523 void SetError(int ErrorNum,const string &keyWord,int pos); 583 524 void SetError(); 584 525 void CompileMessage(char *buffer); 585 526 bool CheckDifferentType(const int VarType,const LONG_PTR lpVarIndex,const int CalcType,const LONG_PTR lpCalcIndex,const char *pszFuncName,const int ParmNum); 527 bool CheckDifferentType( const Type &varType,const Type &calcType,const char *pszFuncName,const int ParmNum); 586 528 587 529 //Compile.cpp
Note:
See TracChangeset
for help on using the changeset viewer.