|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.opensourcephysics.numerics.MathExpParser org.opensourcephysics.numerics.SuryonoParser
public final class SuryonoParser
The class Parser
is a mathematical expression parser.
Example of code that uses this class:
Parser parser = new Parser(1); // creates parser with one variable parser.defineVariable(1,"x"); // lets the variable be 'x' parser.define("sin(x)/x"); // defines function: sin(x)/x parser.parse(); // parses the function // calculates: sin(x)/x with x = -5.0 .. +5.0 in 20 steps // and prints the result to standard output. float result; for (i=-10; i <= 10; i++) { parser.setVariable(1,(float)i/2.0f); result = parser.evaluate(); System.out.println(result); }
Field Summary | |
---|---|
static int |
CODE_DAMAGED
Code damaged. |
static int |
COMMA_EXPECTED
Comma expected. |
static int |
EXPRESSION_EXPECTED
Expression expected. |
static int |
INVALID_OPERAND
Invalid operand. |
static int |
INVALID_OPERATOR
Invalid operator. |
static int |
NO_FUNC_DEFINITION
No function definition to parse. |
static int |
OPERATOR_EXPECTED
Operator expected. |
static int |
PAREN_EXPECTED
Parentheses expected. |
static int |
PAREN_NOT_MATCH
Parenthesis mismatch. |
static int |
REF_NAME_EXPECTED
Referenced name could not be found. |
static int |
STACK_OVERFLOW
Stack overflow. |
static int |
TOO_MANY_CONSTS
Too many constants. |
static int |
UNCOMPILED_FUNCTION
Attempt to evaluate an uncompiled function. |
static int |
UNKNOWN_IDENTIFIER
Unknown identifier. |
Fields inherited from class org.opensourcephysics.numerics.MathExpParser |
---|
NO_ERROR, SYNTAX_ERROR |
Constructor Summary | |
---|---|
SuryonoParser(int variablecount)
The constructor of Parser . |
|
SuryonoParser(java.lang.String f,
java.lang.String v)
The constructor of Parser . |
|
SuryonoParser(java.lang.String f,
java.lang.String[] v)
The constructor of Parser . |
|
SuryonoParser(java.lang.String f,
java.lang.String v1,
java.lang.String v2)
The constructor of Parser . |
Method Summary | |
---|---|
void |
define(java.lang.String definition)
Defines a function. |
void |
defineVariable(int index,
java.lang.String name)
Sets the variable names. |
double |
evaluate()
Evaluates compiled function. |
double |
evaluate(double x)
Evaluates the function at x. |
double |
evaluate(double[] v)
|
double |
evaluate(double x,
double y)
|
double |
evaluate(double x,
double y,
double z)
|
int |
getErrorCode()
Gets error code of last operation. |
int |
getErrorPosition()
Gets error position. |
java.lang.String |
getErrorString()
Gets error string/message of last operation. |
java.lang.String |
getFunction()
Gets function string of last operation. |
java.lang.String[] |
getFunctionNames()
Returns all built-in and extended function names. |
java.lang.String[] |
getVariableNames()
|
void |
parse()
Parses defined function. |
void |
parse(java.lang.String function)
Parses defined function. |
java.lang.String[] |
parseUnknown(java.lang.String function)
Parses a function looking for unknown variables. |
void |
setFunction(java.lang.String funcStr)
Parse the function string using the existing variables. |
void |
setFunction(java.lang.String funcStr,
java.lang.String[] vars)
Parse the function string using new variable names. |
void |
setToZero()
Sets the funtion to zero. |
void |
setVariable(int index,
double value)
Sets the variable value. |
void |
setVariable(java.lang.String name,
double value)
Sets the variable value. |
static java.lang.String |
toErrorString(int errorcode)
Converts error code to error string. |
void |
useDegree()
Sets the angle unit to degree. |
void |
useRadian()
Sets the angle unit to radian. |
Methods inherited from class org.opensourcephysics.numerics.MathExpParser |
---|
createParser |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int PAREN_EXPECTED
public static final int UNCOMPILED_FUNCTION
public static final int EXPRESSION_EXPECTED
public static final int UNKNOWN_IDENTIFIER
public static final int OPERATOR_EXPECTED
public static final int PAREN_NOT_MATCH
public static final int CODE_DAMAGED
public static final int STACK_OVERFLOW
public static final int TOO_MANY_CONSTS
public static final int COMMA_EXPECTED
public static final int INVALID_OPERAND
public static final int INVALID_OPERATOR
public static final int NO_FUNC_DEFINITION
public static final int REF_NAME_EXPECTED
Constructor Detail |
---|
public SuryonoParser(java.lang.String f, java.lang.String v) throws ParserException
Parser
.
Added by W. Christian to make it easy to construct a parser for with one variable.
f
- functionv
- variable
ParserException
public SuryonoParser(java.lang.String f, java.lang.String v1, java.lang.String v2) throws ParserException
Parser
.
Added by W. Christian to make it easy to construct a parser for with two variables.
f
- the functionv1
- variable 1v2
- variable 2
ParserException
public SuryonoParser(java.lang.String f, java.lang.String[] v) throws ParserException
Parser
.
Added by W. Christian to make it easy to construct a parser for with multiple variables.
f
- the functionv
- variables
ParserException
public SuryonoParser(int variablecount)
Parser
.
variablecount
- the number of variablesMethod Detail |
---|
public void setToZero()
public void useRadian()
public void useDegree()
public void defineVariable(int index, java.lang.String name)
index
- the variable index (one based)name
- the variable namepublic void setVariable(int index, double value)
index
- the variable index (one based)value
- the variable valuepublic void setVariable(java.lang.String name, double value)
name
- the variable namevalue
- the variable valuepublic void define(java.lang.String definition)
definition
- the function definitionpublic void parse(java.lang.String function) throws ParserException
ParserException
public java.lang.String[] parseUnknown(java.lang.String function) throws ParserException
ParserException
public java.lang.String[] getVariableNames()
public java.lang.String[] getFunctionNames()
getFunctionNames
in class MathExpParser
public void parse()
public double evaluate(double x, double y)
public double evaluate(double x, double y, double z)
public double evaluate(double x)
Function
public double evaluate(double[] v)
public double evaluate()
public int getErrorCode()
public java.lang.String getErrorString()
public int getErrorPosition()
public static java.lang.String toErrorString(int errorcode)
public java.lang.String getFunction()
getFunction
in class MathExpParser
public void setFunction(java.lang.String funcStr) throws ParserException
setFunction
in class MathExpParser
funcStr
- the function to be parsed
ParserException
public void setFunction(java.lang.String funcStr, java.lang.String[] vars) throws ParserException
setFunction
in class MathExpParser
funcStr
- the function to be parsedvars
- the function's variables
ParserException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |