XSLPparseformula
| XSLPparseformula | 
  Purpose
 
 
 Parse a formula written as an unparsed array of tokens into internal parsed (reverse Polish) format
 
 
  Synopsis
 
 int XPRS_CC XSLPparseformula(XSLPprob Prob, int *inType, double *inValue, int *nToken, int *Type, double *Value);
 
  Arguments
 
 | 
     Prob 
     | 
     The current SLP problem.
     | 
| 
     inType 
     | 
     Array of token types providing the unparsed formula.
     | 
| 
     inValue 
     | 
     Array of values corresponding to the types in
     inType.
     | 
| 
     nToken 
     | 
     Address of an integer to receive the number of tokens in the parsed formula (not counting the terminating
     XSLP_EOF token). May be
     NULL if not required.
     | 
| 
     Type 
     | 
     Array of token types providing the parsed formula.
     | 
| 
     Value 
     | 
     Array of values corresponding to the types in
     Type.
     | 
  Example
 
 
 Assuming that
 x and
 y are already defined as columns with index
 iX and
 iY respectively, the following example converts the formula "sin(x+y)" into internal parsed format, and then writes it out as a sequence of tokens.
 
 int n, iSin, iX, iY;
int inType[7], Type[20];
double inValue[7], Value[20];
n = 0;
XSLPgetindex(Prob, XSLP_INTERNALFUNCNAMESNOCASE,
             "SIN", &iSin);
Type[n] = XSLP_IFUN;  Value[n++] = iSin;
Type[n++] = XSLP_LB;
Type[n] = XSLP_COL;  Value[n++] = iX;
Type[n] = XSLP_OP;  Value[n++] = XSLP_PLUS;
Type[n] = XSLP_COL;  Value[n++] = iY;
Type[n++] = XSLP_RB;
Type[n++] = XSLP_EOF;
XSLPparseformula(Prob, inType, inValue,
                 NULL, Type, Value);
printf("\n");
for (n=0;Type[n] != XSLP_EOF;n++) {
  XSLPitemname(Prob, Type[n], Value[n], Buffer);
  printf(" %s", Buffer);
}
  Further information
 
 For possible token types and values see the chapter on "Formula Parsing".
  Related topics
 
  
