45 #ifdef __GNU_LesserG__
69 const char * FuncName;
118 xbStackElement *Previous;
119 xbStackElement *Next;
137 {
return ProcessExpression( Tree, opt ); }
139 xbExpNode * GetTree() {
return Tree; }
140 void SetTreeToNull() { Tree = NULL; }
141 xbExpNode * GetFirstTreeNode( xbExpNode * );
142 xbExpNode * GetFirstTreeNode()
143 {
return GetFirstTreeNode( Tree ); }
144 xbShort ProcessExpression(
const char *exp,
xbDbf * d );
146 xbExpNode * GetExpressionHandle();
147 char GetExpressionResultType( xbExpNode * );
148 char GetExpressionResultType()
149 {
return GetExpressionResultType( Tree ); }
150 char * GetCharResult();
154 xbShort ProcessExpression( xbExpNode * );
155 xbShort ProcessExpression() {
return ProcessExpression( Tree ); }
156 xbShort BuildExpressionTree(
const char * Expression,
xbShort MaxTokenLen,
163 xbShort GetStackDepth() {
return StackDepth; }
165 const char * GetValidFuncName(
xbShort funcNo )
166 {
return XbaseFuncList[funcNo].FuncName; }
169 void DumpExpressionTree(
xbShort printOption )
170 { DumpExpressionTree( Tree, printOption ); }
171 void DumpExpressionTree( xbExpNode *,
xbShort printOption );
172 void DumpExpNode( xbExpNode *,
xbShort printOption );
177 xbLong ASC(
const char * );
178 xbLong AT(
const char *,
const char * );
179 char * CDOW(
const char * );
181 char * CMONTH(
const char * );
182 char * CTOD(
const char * );
184 xbLong DAY(
const char * );
185 char * DESCEND(
const char * );
188 xbLong DOW(
const char * );
189 char * DTOC(
const char * );
190 char * DTOS(
const char * );
192 char * IIF(
xbShort,
const char *,
const char * );
194 xbLong ISALPHA(
const char * );
195 xbLong ISLOWER(
const char * );
196 xbLong ISUPPER(
const char * );
197 char * LEFT(
const char *,
xbShort );
198 xbLong LEN(
const char * );
200 char * LOWER(
const char * );
201 char * LTRIM(
const char * );
203 xbLong MONTH(
const char * );
206 char * REPLICATE(
const char *,
xbShort );
207 char * RIGHT(
const char *,
xbShort );
208 char * RTRIM(
const char * );
211 char * STR(
const char * );
212 char * STR(
const char *,
xbShort );
217 char * STRZERO(
const char * );
218 char * STRZERO(
const char *,
xbShort );
224 char * TRIM(
const char * );
225 char * UPPER(
const char * );
226 xbLong VAL(
const char * );
227 xbLong YEAR(
const char * );
231 char IsSeparator(
char );
232 xbExpNode * LoadExpNode(
const char * ENodeText,
const char EType,
235 xbShort ReduceComplexExpression(
const char * NextToken,
xbShort Len,
236 xbExpNode * cn,
xbDbf *d );
237 xbShort GetFunctionTokenLen(
const char *s );
238 xbShort ReduceFunction(
const char *NextToken, xbExpNode *cn,
xbDbf *d );
239 xbExpNode * GetNextTreeNode( xbExpNode * );
241 xbShort ProcessFunction(
char * );
242 xbShort ValidOperation(
char *,
char,
char );
243 char GetOperandType( xbExpNode * );
244 xbShort AlphaOperation(
char * );
245 xbShort NumericOperation(
char * );
248 xbLong GetInt( xbExpNode * );
252 xbFuncDtl *XbaseFuncList;
278 enum { WorkBufMaxLen = 200 };
279 char WorkBuf[WorkBufMaxLen+1];
283 xbStackElement *First;
284 xbStackElement *Last;
xbDate class
Definition: xbdate.h:68
xbMH struct
Definition: xbdbf.h:190
xbString class
Definition: xbstring.h:63
xbXBase class
Definition: xbase64.h:152
#define XBDLLEXPORT
Definition: xbase64.h:86
long xbLong
Definition: xbtypes.h:61
short int xbShort
xbShort type
Definition: xbtypes.h:60
unsigned short int xbUShort
xbUShort type
Definition: xbtypes.h:55
double xbDouble
xbDouble type
Definition: xbtypes.h:73