source: dev/trunk/ab5.0/abdev/BasicCompiler_Common/VariableOpe.h@ 536

Last change on this file since 536 was 429, checked in by dai_9181, 17 years ago

PareOrBracket列挙型を導入。

File size: 1.8 KB
Line 
1#pragma once
2
3class Type;
4class CClass;
5
6enum PareOrBracket
7{
8 None = 0,
9 Pare, // (...)
10 Bracket, // [...]
11};
12
13BOOL IsPtrType(int type);
14BOOL IsSignedType(int type);
15BOOL IsNaturalWholeNumberType(int type);
16BOOL IsWholeNumberType(int type);
17BOOL IsRealNumberType(int type);
18BOOL Is64Type(int type);
19int GetSignedType(int type);
20int GetUnsignedType(int type);
21int GetPtrType(int type);
22BOOL GetTypeName(int type,LONG_PTR lpIndex,char *name);
23Type GetStringTypeInfo();
24void GetWithName(char *buffer);
25BOOL GetVarFormatString(char *buffer,char *array,char *array2,char *NestMember, ReferenceKind &refType, PareOrBracket *pPareOrBracket = NULL );
26void GetArrayElement( const char *buffer,char *variable,char *array_element);
27BOOL CheckVarNameError(char *name,int nowLine);
28int JumpSubScripts( const Subscripts &subscripts );
29bool GetMemberType( const Type &classType, const char *lpszMember, Type &resultType, BOOL bPrivateAccess, bool isErrorEnabled);
30bool GetVarType( const char *nameBuffer, Type &resultType, bool isError);
31bool GetVarOffsetReadOnly(const char *NameBuffer,RELATIVE_VAR *pRelativeVar,Type &resultType, Subscripts *pResultSubscripts = NULL );
32bool GetVarOffsetReadWrite(const char *NameBuffer,RELATIVE_VAR *pRelativeVar,Type &resultType, Subscripts *pResultSubscripts = NULL );
33bool GetDimentionFormat( const char *buffer,
34 char *VarName,
35 Subscripts &subscripts,
36 Type &type,
37 char *InitBuf,
38 char *ConstractParameter );
39BOOL GetNowStaticVarFullName(char *VarName,char *FullName);
40void AddGlobalVariable( const char *name, const Subscripts &subscripts, const Type &type,const char *InitBuf,const char *ConstractParameter,DWORD dwFlag);
41void dim(char *Parameter,DWORD dwFlags);
42void OpcodeDim(char *Parameter,DWORD dwFlags);
43void DebugVariable(void);
Note: See TracBrowser for help on using the repository browser.