|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectinfo.bliki.wiki.template.expr.operator.ASTNodeFactory
public class ASTNodeFactory
Field Summary | |
---|---|
static java.lang.String[] |
HEADER_STRINGS
|
static ASTNodeFactory |
MMA_STYLE_FACTORY
|
static java.lang.String[] |
OPERATOR_STRINGS
|
static Operator[] |
OPERATORS
|
static int |
PLUS_PRECEDENCE
|
static int |
TIMES_PRECEDENCE
|
Fields inherited from interface info.bliki.wiki.template.expr.ast.IParserFactory |
---|
DEFAULT_OPERATOR_CHARACTERS |
Constructor Summary | |
---|---|
ASTNodeFactory()
Create a default ASTNode factory |
Method Summary | |
---|---|
static void |
addOperator(java.util.HashMap<java.lang.String,Operator> operatorMap,
java.util.HashMap<java.lang.String,java.util.ArrayList<Operator>> operatorTokenStartSet,
java.lang.String operatorStr,
java.lang.String headStr,
Operator oper)
|
FunctionNode |
createAST(ASTNode headExpr)
Creates a new list with no arguments from the given header object . |
ASTNode |
createDouble(java.lang.String doubleString)
Create an double node from the given double value string |
FractionNode |
createFraction(IntegerNode numerator,
IntegerNode denominator)
Create a "fractional" number |
FunctionNode |
createFunction(SymbolNode head)
Creates a new function with head head and 0 arguments. |
FunctionNode |
createFunction(SymbolNode head,
ASTNode arg0)
Creates a new function with head head and 1 argument. |
FunctionNode |
createFunction(SymbolNode head,
ASTNode arg0,
ASTNode arg1)
Creates a new function with head head and 2 arguments. |
static InfixOperator |
createInfixOperator(java.lang.String operatorStr,
java.lang.String headStr,
int precedence,
int grouping)
|
IntegerNode |
createInteger(int intValue)
Create an integer node from the given value |
IntegerNode |
createInteger(java.lang.String integerString,
int numberFormat)
Create an integer node from the given string |
static PostfixOperator |
createPostfixOperator(java.lang.String operatorStr,
java.lang.String headStr,
int precedence)
|
static PrefixOperator |
createPrefixOperator(java.lang.String operatorStr,
java.lang.String headStr,
int precedence)
|
StringNode |
createString(java.lang.StringBuffer buffer)
Create a string node from the scanned double quoted string |
SymbolNode |
createSymbol(java.lang.String symbolName)
Create a symbol from the scanned identifier string |
Operator |
get(java.lang.String identifier)
Get the operator for a given identifier string like Times, Plus, Sin,... |
java.lang.String |
getConstantSymbol(java.lang.String key)
|
java.util.Map<java.lang.String,Operator> |
getIdentifier2OperatorMap()
public Map |
java.util.Map<java.lang.String,java.util.ArrayList<Operator>> |
getOperator2ListMap()
public Map |
java.lang.String |
getOperatorCharacters()
The set of characters, which could form an operator |
java.util.List<Operator> |
getOperatorList(java.lang.String key)
public List |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int PLUS_PRECEDENCE
public static final int TIMES_PRECEDENCE
public static final java.lang.String[] HEADER_STRINGS
public static final java.lang.String[] OPERATOR_STRINGS
public static final Operator[] OPERATORS
public static final ASTNodeFactory MMA_STYLE_FACTORY
Constructor Detail |
---|
public ASTNodeFactory()
Method Detail |
---|
public static void addOperator(java.util.HashMap<java.lang.String,Operator> operatorMap, java.util.HashMap<java.lang.String,java.util.ArrayList<Operator>> operatorTokenStartSet, java.lang.String operatorStr, java.lang.String headStr, Operator oper)
public java.lang.String getOperatorCharacters()
IParserFactory
getOperatorCharacters
in interface IParserFactory
public java.util.Map<java.lang.String,Operator> getIdentifier2OperatorMap()
getIdentifier2OperatorMap
in interface IParserFactory
public Operator get(java.lang.String identifier)
IParserFactory
get
in interface IParserFactory
public java.util.Map<java.lang.String,java.util.ArrayList<Operator>> getOperator2ListMap()
getOperator2ListMap
in interface IParserFactory
public java.util.List<Operator> getOperatorList(java.lang.String key)
getOperatorList
in interface IParserFactory
public java.lang.String getConstantSymbol(java.lang.String key)
getConstantSymbol
in interface IParserFactory
public static InfixOperator createInfixOperator(java.lang.String operatorStr, java.lang.String headStr, int precedence, int grouping)
public static PrefixOperator createPrefixOperator(java.lang.String operatorStr, java.lang.String headStr, int precedence)
public static PostfixOperator createPostfixOperator(java.lang.String operatorStr, java.lang.String headStr, int precedence)
public ASTNode createDouble(java.lang.String doubleString)
IParserFactory
createDouble
in interface IParserFactory
public FunctionNode createFunction(SymbolNode head)
IParserFactory
head
and 0 arguments.
createFunction
in interface IParserFactory
public FunctionNode createFunction(SymbolNode head, ASTNode arg0)
IParserFactory
head
and 1 argument.
createFunction
in interface IParserFactory
public FunctionNode createFunction(SymbolNode head, ASTNode arg0, ASTNode arg1)
IParserFactory
head
and 2 arguments.
createFunction
in interface IParserFactory
public FunctionNode createAST(ASTNode headExpr)
createAST
in interface IParserFactory
public IntegerNode createInteger(java.lang.String integerString, int numberFormat)
IParserFactory
createInteger
in interface IParserFactory
integerString
- the integer number represented as a StringnumberFormat
- the format of the number (usually 10)
public IntegerNode createInteger(int intValue)
IParserFactory
createInteger
in interface IParserFactory
intValue
- the integer number's value
public FractionNode createFraction(IntegerNode numerator, IntegerNode denominator)
IParserFactory
createFraction
in interface IParserFactory
numerator
- numerator of the fractional numberdenominator
- denominator of the fractional number
public StringNode createString(java.lang.StringBuffer buffer)
IParserFactory
createString
in interface IParserFactory
public SymbolNode createSymbol(java.lang.String symbolName)
IParserFactory
createSymbol
in interface IParserFactory
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |