Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef SYSTASK_HPP
00031 #define SYSTASK_HPP
00032
00036 class Systask {
00037 public:
00041 static void Initialize() {}
00048 static int Width( CSymbol* symbol, CNode* args )
00049 {
00050
00051
00052
00053 if( !strcmp(symbol->GetName(), "$signed" ) ) {
00054 return args->GetWidth();
00055 }
00056 return 32;
00057 }
00064 static CNode* WidthExp( CSymbol* symbol, CNode* args )
00065 {
00066
00067
00068
00069 if( !strcmp(symbol->GetName(), "$signed" ) ) {
00070 return args->GetWidthExp();
00071 }
00072 return cINT32(32);
00073 }
00082 static int WidthConstant( CSymbol* symbol, CNode* args )
00083 {
00084
00085
00086
00087 if( !strcmp(symbol->GetName(), "$signed" ) ) {
00088 return args->IsWidthConstant();
00089 }
00090 return FALSE;
00091 }
00100 static int WidthVolatile( CSymbol* symbol, CNode* args )
00101 {
00102
00103
00104
00105 if( !strcmp(symbol->GetName(), "$signed" ) ) {
00106 return args->IsWidthVolatile();
00107 }
00108 return TRUE;
00109 }
00117 static int WidthEvaluateable( CSymbol* symbol, CNode* args )
00118 {
00119
00120
00121
00122 if( !strcmp(symbol->GetName(), "$signed" ) ) {
00123 return args->IsWidthEvaluateable();
00124 }
00125 return FALSE;
00126 }
00134 static NodeType_t Type( CSymbol* symbol, CNode* args )
00135 {
00136
00137
00138
00139 if( !strcmp(symbol->GetName(), "$signed" ) ) {
00140 return eS;
00141 }
00142 return eB;
00143 }
00144 };
00145
00146 #endif // SYSTASK_HPP