problem.preparseformula
problem.preparseformula |
Purpose
Perform an initial scan of a formula written as a character string, identifying the operators but not attempting to identify the types of the individual tokens
Synopsis
(type, value, stringtable) = problem.preparseformula (formula)
Arguments
|
formula
|
Character string containing the formula, written in the same free-format style as formulae in Extended MPS format, with spaces separating tokens.
|
|
type
|
Array of token types providing the parsed formula.
|
|
value
|
Array of values corresponding to the types in
Type.
|
|
stringtable
|
Character buffer to receive the names of the unidentified tokens.
|
Example
The following example converts the formula "sin(x+y)" into internal parsed format without trying to identify the tokens apart from operands and numbers, and then writes it out as a sequence of tokens.
(type, value, stab) = p.preparseformula ("sin ( x + y )")
i=0
while type[i] != xslp_op_eof:
if type[n] == xslp_UNKNOWN:
print ("? ", value[i])
else:
str = p.itemname (type[i], value[i])
printf (str)
i += 1
Further information
Only operands and numbers are identified by preparseformula. All other operands, including names of variables, functions are left as strings of type xslp_op_unknown. The Value of such a type is the index in stringtable of the start of the token name.
The parsed formula can be converted into a calculable formula by replacing the xslp_op_unknown tokens by the correct types and values.
Related topics
