Package org.mariuszgromada.math.mxparser
Class ExpressionUtils
- java.lang.Object
-
- org.mariuszgromada.math.mxparser.ExpressionUtils
-
final class ExpressionUtils extends java.lang.ObjectUtility methods used in Expression class- Version:
- 6.1.0
- See Also:
Expression
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringARGUMENT(package private) static java.util.List<KeyWord>baseKeyWordsListParUdfUni000(package private) static java.util.List<KeyWord>baseKeyWordsListParUdfUni001(package private) static java.util.List<KeyWord>baseKeyWordsListParUdfUni010(package private) static java.util.List<KeyWord>baseKeyWordsListParUdfUni011(package private) static java.util.List<KeyWord>baseKeyWordsListParUdfUni100(package private) static java.util.List<KeyWord>baseKeyWordsListParUdfUni101(package private) static java.util.List<KeyWord>baseKeyWordsListParUdfUni110(package private) static java.util.List<KeyWord>baseKeyWordsListParUdfUni111private static java.lang.StringDESC_ADVANCED_SEARCH_TAGprivate static java.lang.StringERRORprivate static java.lang.StringFUNCTIONprivate static java.lang.StringKEY_ADVANCED_SEARCH_TAGprivate static java.lang.StringKEYID_ADVANCED_SEARCH_TAG(package private) static booleanLANGUAGE_SPECIFIC_DESCRIPTIONS_SETprivate static java.lang.StringSINCE_ADVANCED_SEARCH_TAGprivate static java.lang.StringSYN_ADVANCED_SEARCH_TAGprivate static java.lang.StringTYPE_ADVANCED_SEARCH_TAGprivate static java.lang.StringTYPEID_ADVANCED_SEARCH_TAGprivate static java.lang.StringUNITCONST
-
Constructor Summary
Constructors Constructor Description ExpressionUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static voidaddArgumentsKeyWords(java.util.List<Argument> argumentsList, java.util.List<KeyWord> keyWordsList)(package private) static voidaddConstantsKeyWords(java.util.List<Constant> constantsList, java.util.List<KeyWord> keyWordsList)(package private) static voidaddFunctionsKeyWords(java.util.List<Function> functionsList, java.util.List<KeyWord> keyWordsList)(package private) static voidaddKeyWord(java.lang.String wordString, java.lang.String wordDescription, int wordId, java.lang.String wordSyntax, java.lang.String wordSince, int wordTypeId, java.util.List<KeyWord> keyWordsList)(package private) static voidaddKeyWordUnicode(java.lang.String wordString, java.lang.String wordDescription, int wordId, java.lang.String wordSyntax, java.lang.String wordSince, int wordTypeId, boolean unicodeKeyWordsEnabled, java.util.List<KeyWord> keyWordsList)(package private) static voidaddParserKeyWords(boolean parserKeyWordsOnly, boolean UDFExpression, boolean unicodeKeyWordsEnabled, java.util.List<KeyWord> keyWordsList)(package private) static voidaddUDFSpecificParserKeyWords(java.util.List<KeyWord> keyWordsList)private static java.lang.StringbuildHelpCaption(java.lang.String query)private static java.lang.StringbuildHelpSearchLine(KeyWord kw, boolean advancedSearch)private static voidbuildHtmlTableRows(java.util.List<KeyWord> keyWordsList, boolean addHeader, java.lang.StringBuilder stringBuilder)private static voidbuildJsonRows(java.util.List<KeyWord> keyWordsList, java.lang.StringBuilder stringBuilder)private static voidbuildMarkdownTableRows(java.util.List<KeyWord> keyWordsList, boolean addHeader, java.lang.StringBuilder stringBuilder)private static booleancheckIfAdvancedSearch(java.lang.String query)(package private) static java.lang.StringcleanExpressionString(java.lang.String expressionString, boolean attemptToFixExpStrEnabled)Cleans blanks and other cases like "++', "+-", "-+", "--"private static java.lang.StringcleanMinusMinus(java.lang.String expressionString)Cleans "--" case considering defined parser keywords "-->", "<--"(package private) static java.util.List<Argument>cloneForThreadSafeArgumenstList(Expression relatedExpressionThatInitiatedClone, java.util.List<Argument> argumentsListToClone, CloneCache cloneCache)(package private) static java.util.List<Constant>cloneForThreadSafeConstantsList(Expression relatedExpressionThatInitiatedClone, java.util.List<Constant> constantsListToClone, CloneCache cloneCache)(package private) static java.util.List<Function>cloneForThreadSafeFunctionsList(Expression relatedExpressionThatInitiatedClone, java.util.List<Function> functionsListToClone, CloneCache cloneCache)private static booleancontainsAdvancedSearchTag(java.lang.String query, java.lang.String tag)(package private) static java.lang.StringcreateExpressionDescription(java.lang.String description, java.lang.String expressionString)(package private) static voidevaluateTokensLevels(java.util.List<Token> initialTokens)Evaluates tokens levels(package private) static intfindNonNegativeMinimum(int a, int b)(package private) static intfindNonNegativeMinimum(int a, int b, int c)(package private) static java.util.List<KeyWord>getBaseKeyWordsList(boolean parserKeyWordsOnly, boolean UDFExpression, boolean unicodeKeyWordsEnabled)(package private) static java.util.List<Token>getCopyOfInitialTokens(java.lang.String expressionString, java.util.List<Token> initialTokens)Tokenizes expression string and returns tokens list, including: string, type, level.(package private) static java.util.List<FunctionParameter>getFunctionParameters(int pos, java.util.List<Token> tokensList)Returns list of the functions parameters.(package private) static java.lang.StringgetHelp(java.lang.String query, java.util.List<KeyWord> keyWordsList)(package private) static java.lang.StringgetHelp(java.lang.String query, java.util.List<KeyWord> keyWordsList, boolean addHeader, boolean addCaption, java.lang.String caption)(package private) static java.lang.StringgetHelpAsCsv(java.util.List<KeyWord> keyWordsList, java.lang.String quote, java.lang.String delimiter, boolean addHeader, java.lang.String query)(package private) static java.lang.StringgetHelpAsHtmlTable(java.util.List<KeyWord> keyWordsList, boolean addHeader, boolean addCaption, boolean addFigure, java.lang.String query, java.lang.String caption, java.lang.String cssClass)(package private) static java.lang.StringgetHelpAsHtmlTable(java.util.List<KeyWord> keyWordsList, boolean addHeadline, java.lang.String query)(package private) static java.lang.StringgetHelpAsJson(java.util.List<KeyWord> keyWordsList, boolean addCaption, java.lang.String query, java.lang.String caption)(package private) static java.lang.StringgetHelpAsMarkdownTable(java.util.List<KeyWord> keyWordsList, boolean addHeader, boolean addCaption, java.lang.String query, java.lang.String caption)(package private) static java.lang.StringgetHelpAsMarkdownTable(java.util.List<KeyWord> keyWordsList, java.lang.String query)(package private) static java.util.List<KeyWord>getKeyWords(java.lang.String query, java.util.List<KeyWord> keyWordsList)Returns list of keywords known to the parser(package private) static java.lang.String[]getMissingUserDefinedArguments(java.util.List<Token> tokens)Returns missing user defined arguments names, i.e.(package private) static java.lang.String[]getMissingUserDefinedFunctions(java.util.List<Token> tokens)Returns missing user defined functions names, i.e.(package private) static java.lang.String[]getMissingUserDefinedUnits(java.util.List<Token> tokens)Returns missing user defined units names, i.e.(package private) static intgetNumeralSystemBaseFromBaseInd(java.lang.String baseInd)(package private) static voidmakeAllParserKeyWords()private static java.lang.StringmakeCssClassDef(java.lang.String cssClass)private static java.lang.StringmakeJsonKeyValuePair(java.lang.String key, java.lang.String value)(package private) static java.util.List<KeyWord>makeParserKeyWords(boolean parserKeyWordsOnly, boolean UDFExpression, boolean unicodeKeyWordsEnabled)private static voidmakeParserKeyWords(boolean parserKeyWordsOnly, boolean UDFExpression, boolean unicodeKeyWordsEnabled, java.util.List<KeyWord> keyWordsList)private static java.lang.StringselectCaption(java.lang.String query, java.lang.String caption)(package private) static voidshowKeyWords(java.util.List<KeyWord> keyWordsList)(package private) static voidshowParsing(int lPos, int rPos, java.util.List<Token> tokensList)Shows parsing (verbose mode purposes).(package private) static voidshowTokens(java.util.List<Token> tokensList)(package private) static java.lang.StringtokensListToString(java.util.List<Token> tokensList)(package private) static java.lang.StringtokenToString(Token token)
-
-
-
Field Detail
-
LANGUAGE_SPECIFIC_DESCRIPTIONS_SET
static final boolean LANGUAGE_SPECIFIC_DESCRIPTIONS_SET
-
baseKeyWordsListParUdfUni111
static java.util.List<KeyWord> baseKeyWordsListParUdfUni111
-
baseKeyWordsListParUdfUni110
static java.util.List<KeyWord> baseKeyWordsListParUdfUni110
-
baseKeyWordsListParUdfUni101
static java.util.List<KeyWord> baseKeyWordsListParUdfUni101
-
baseKeyWordsListParUdfUni100
static java.util.List<KeyWord> baseKeyWordsListParUdfUni100
-
baseKeyWordsListParUdfUni011
static java.util.List<KeyWord> baseKeyWordsListParUdfUni011
-
baseKeyWordsListParUdfUni010
static java.util.List<KeyWord> baseKeyWordsListParUdfUni010
-
baseKeyWordsListParUdfUni001
static java.util.List<KeyWord> baseKeyWordsListParUdfUni001
-
baseKeyWordsListParUdfUni000
static java.util.List<KeyWord> baseKeyWordsListParUdfUni000
-
FUNCTION
private static final java.lang.String FUNCTION
- See Also:
- Constant Field Values
-
ARGUMENT
private static final java.lang.String ARGUMENT
- See Also:
- Constant Field Values
-
UNITCONST
private static final java.lang.String UNITCONST
- See Also:
- Constant Field Values
-
ERROR
private static final java.lang.String ERROR
- See Also:
- Constant Field Values
-
KEY_ADVANCED_SEARCH_TAG
private static final java.lang.String KEY_ADVANCED_SEARCH_TAG
- See Also:
- Constant Field Values
-
DESC_ADVANCED_SEARCH_TAG
private static final java.lang.String DESC_ADVANCED_SEARCH_TAG
- See Also:
- Constant Field Values
-
SYN_ADVANCED_SEARCH_TAG
private static final java.lang.String SYN_ADVANCED_SEARCH_TAG
- See Also:
- Constant Field Values
-
SINCE_ADVANCED_SEARCH_TAG
private static final java.lang.String SINCE_ADVANCED_SEARCH_TAG
- See Also:
- Constant Field Values
-
KEYID_ADVANCED_SEARCH_TAG
private static final java.lang.String KEYID_ADVANCED_SEARCH_TAG
- See Also:
- Constant Field Values
-
TYPEID_ADVANCED_SEARCH_TAG
private static final java.lang.String TYPEID_ADVANCED_SEARCH_TAG
- See Also:
- Constant Field Values
-
TYPE_ADVANCED_SEARCH_TAG
private static final java.lang.String TYPE_ADVANCED_SEARCH_TAG
- See Also:
- Constant Field Values
-
-
Method Detail
-
addUDFSpecificParserKeyWords
static void addUDFSpecificParserKeyWords(java.util.List<KeyWord> keyWordsList)
-
addArgumentsKeyWords
static void addArgumentsKeyWords(java.util.List<Argument> argumentsList, java.util.List<KeyWord> keyWordsList)
-
addFunctionsKeyWords
static void addFunctionsKeyWords(java.util.List<Function> functionsList, java.util.List<KeyWord> keyWordsList)
-
addConstantsKeyWords
static void addConstantsKeyWords(java.util.List<Constant> constantsList, java.util.List<KeyWord> keyWordsList)
-
addKeyWord
static void addKeyWord(java.lang.String wordString, java.lang.String wordDescription, int wordId, java.lang.String wordSyntax, java.lang.String wordSince, int wordTypeId, java.util.List<KeyWord> keyWordsList)
-
addKeyWordUnicode
static void addKeyWordUnicode(java.lang.String wordString, java.lang.String wordDescription, int wordId, java.lang.String wordSyntax, java.lang.String wordSince, int wordTypeId, boolean unicodeKeyWordsEnabled, java.util.List<KeyWord> keyWordsList)
-
addParserKeyWords
static void addParserKeyWords(boolean parserKeyWordsOnly, boolean UDFExpression, boolean unicodeKeyWordsEnabled, java.util.List<KeyWord> keyWordsList)
-
getBaseKeyWordsList
static java.util.List<KeyWord> getBaseKeyWordsList(boolean parserKeyWordsOnly, boolean UDFExpression, boolean unicodeKeyWordsEnabled)
-
makeAllParserKeyWords
static void makeAllParserKeyWords()
-
makeParserKeyWords
static java.util.List<KeyWord> makeParserKeyWords(boolean parserKeyWordsOnly, boolean UDFExpression, boolean unicodeKeyWordsEnabled)
-
makeParserKeyWords
private static void makeParserKeyWords(boolean parserKeyWordsOnly, boolean UDFExpression, boolean unicodeKeyWordsEnabled, java.util.List<KeyWord> keyWordsList)
-
getFunctionParameters
static java.util.List<FunctionParameter> getFunctionParameters(int pos, java.util.List<Token> tokensList)
Returns list of the functions parameters.- Parameters:
pos- the function positiontokensList- the tokens list- Returns:
- the list of function parameters
- See Also:
FunctionParameter
-
cleanMinusMinus
private static java.lang.String cleanMinusMinus(java.lang.String expressionString)
Cleans "--" case considering defined parser keywords "-->", "<--"
-
cleanExpressionString
static java.lang.String cleanExpressionString(java.lang.String expressionString, boolean attemptToFixExpStrEnabled)Cleans blanks and other cases like "++', "+-", "-+", "--"
-
createExpressionDescription
static java.lang.String createExpressionDescription(java.lang.String description, java.lang.String expressionString)
-
getCopyOfInitialTokens
static java.util.List<Token> getCopyOfInitialTokens(java.lang.String expressionString, java.util.List<Token> initialTokens)
Tokenizes expression string and returns tokens list, including: string, type, level.- Returns:
- Copy of initial tokens.
- See Also:
Token,mXparser.consolePrintTokens(List)
-
getMissingUserDefinedArguments
static java.lang.String[] getMissingUserDefinedArguments(java.util.List<Token> tokens)
Returns missing user defined arguments names, i.e. sin(x) + cos(y) where x and y are not defined function will return x and y.- Returns:
- Array of missing user defined arguments names - distinct strings.
-
getMissingUserDefinedUnits
static java.lang.String[] getMissingUserDefinedUnits(java.util.List<Token> tokens)
Returns missing user defined units names, i.e. 2*[w] + [q] where [w] and [q] are not defined function will return [w] and [q].- Returns:
- Array of missing user defined units names - distinct strings.
-
getMissingUserDefinedFunctions
static java.lang.String[] getMissingUserDefinedFunctions(java.util.List<Token> tokens)
Returns missing user defined functions names, i.e. sin(x) + fun(x,y) where fun is not defined function will return fun.- Returns:
- Array of missing user defined functions names - distinct strings.
-
showKeyWords
static void showKeyWords(java.util.List<KeyWord> keyWordsList)
-
getHelp
static java.lang.String getHelp(java.lang.String query, java.util.List<KeyWord> keyWordsList, boolean addHeader, boolean addCaption, java.lang.String caption)
-
getHelp
static java.lang.String getHelp(java.lang.String query, java.util.List<KeyWord> keyWordsList)
-
getHelpAsCsv
static java.lang.String getHelpAsCsv(java.util.List<KeyWord> keyWordsList, java.lang.String quote, java.lang.String delimiter, boolean addHeader, java.lang.String query)
-
buildHtmlTableRows
private static void buildHtmlTableRows(java.util.List<KeyWord> keyWordsList, boolean addHeader, java.lang.StringBuilder stringBuilder)
-
buildMarkdownTableRows
private static void buildMarkdownTableRows(java.util.List<KeyWord> keyWordsList, boolean addHeader, java.lang.StringBuilder stringBuilder)
-
makeJsonKeyValuePair
private static java.lang.String makeJsonKeyValuePair(java.lang.String key, java.lang.String value)
-
buildJsonRows
private static void buildJsonRows(java.util.List<KeyWord> keyWordsList, java.lang.StringBuilder stringBuilder)
-
buildHelpCaption
private static java.lang.String buildHelpCaption(java.lang.String query)
-
selectCaption
private static java.lang.String selectCaption(java.lang.String query, java.lang.String caption)
-
makeCssClassDef
private static java.lang.String makeCssClassDef(java.lang.String cssClass)
-
getHelpAsHtmlTable
static java.lang.String getHelpAsHtmlTable(java.util.List<KeyWord> keyWordsList, boolean addHeader, boolean addCaption, boolean addFigure, java.lang.String query, java.lang.String caption, java.lang.String cssClass)
-
getHelpAsHtmlTable
static java.lang.String getHelpAsHtmlTable(java.util.List<KeyWord> keyWordsList, boolean addHeadline, java.lang.String query)
-
getHelpAsMarkdownTable
static java.lang.String getHelpAsMarkdownTable(java.util.List<KeyWord> keyWordsList, java.lang.String query)
-
getHelpAsMarkdownTable
static java.lang.String getHelpAsMarkdownTable(java.util.List<KeyWord> keyWordsList, boolean addHeader, boolean addCaption, java.lang.String query, java.lang.String caption)
-
getHelpAsJson
static java.lang.String getHelpAsJson(java.util.List<KeyWord> keyWordsList, boolean addCaption, java.lang.String query, java.lang.String caption)
-
buildHelpSearchLine
private static java.lang.String buildHelpSearchLine(KeyWord kw, boolean advancedSearch)
-
containsAdvancedSearchTag
private static boolean containsAdvancedSearchTag(java.lang.String query, java.lang.String tag)
-
checkIfAdvancedSearch
private static boolean checkIfAdvancedSearch(java.lang.String query)
-
getKeyWords
static java.util.List<KeyWord> getKeyWords(java.lang.String query, java.util.List<KeyWord> keyWordsList)
Returns list of keywords known to the parser- Parameters:
query- Give any string to filter list of keywords against this string. User more precise syntax: str=tokenString, desc=tokenDescription, syn=TokenSyntax, sin=tokenSince, wid=wordId, tid=wordTypeId to narrow the result.- Returns:
- List of keywords known to the parser filter against query string.
- See Also:
KeyWord,KeyWord.wordTypeId,Expression.getHelp(String)
-
showParsing
static void showParsing(int lPos, int rPos, java.util.List<Token> tokensList)Shows parsing (verbose mode purposes).
-
showTokens
static void showTokens(java.util.List<Token> tokensList)
-
tokenToString
static java.lang.String tokenToString(Token token)
-
tokensListToString
static java.lang.String tokensListToString(java.util.List<Token> tokensList)
-
evaluateTokensLevels
static void evaluateTokensLevels(java.util.List<Token> initialTokens)
Evaluates tokens levels
-
getNumeralSystemBaseFromBaseInd
static int getNumeralSystemBaseFromBaseInd(java.lang.String baseInd)
-
findNonNegativeMinimum
static int findNonNegativeMinimum(int a, int b)
-
findNonNegativeMinimum
static int findNonNegativeMinimum(int a, int b, int c)
-
cloneForThreadSafeArgumenstList
static java.util.List<Argument> cloneForThreadSafeArgumenstList(Expression relatedExpressionThatInitiatedClone, java.util.List<Argument> argumentsListToClone, CloneCache cloneCache)
-
cloneForThreadSafeFunctionsList
static java.util.List<Function> cloneForThreadSafeFunctionsList(Expression relatedExpressionThatInitiatedClone, java.util.List<Function> functionsListToClone, CloneCache cloneCache)
-
cloneForThreadSafeConstantsList
static java.util.List<Constant> cloneForThreadSafeConstantsList(Expression relatedExpressionThatInitiatedClone, java.util.List<Constant> constantsListToClone, CloneCache cloneCache)
-
-