Skip to content

Commit

Permalink
#170" fixed "No Operator between Argumant and Parentheses"
Browse files Browse the repository at this point in the history
  • Loading branch information
mariuszgromada committed Jan 27, 2019
1 parent f1347d9 commit 43d2b33
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 32 deletions.
4 changes: 2 additions & 2 deletions CURRENT/c-sharp/exe-lib-tests/Run-Tests-Reg/RunTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
namespace mxparser.runtests {
class RunTestsReg {
static void Main(string[] args) {
RunTest.Start("api");
//RunTest.Start("api");
//RunTest.Start("syn");
//RunTest.Start("reg");
RunTest.Start("reg");
mXparser.consolePrintln(".NET CLR version:" + Environment.Version);
mXparser.consolePrintln(".NET version:" + System.Diagnostics.FileVersionInfo.GetVersionInfo(typeof(int).Assembly.Location).ProductVersion);
#if PCL
Expand Down
23 changes: 11 additions & 12 deletions CURRENT/c-sharp/src/org/mariuszgromada/math/mxparser/Expression.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)Expression.cs 4.3.0 2018-12-12
* @(#)Expression.cs 4.3.3 2019-01-27
*
* You may use this software under the condition of "Simplified BSD License"
*
Expand Down Expand Up @@ -96,7 +96,7 @@ namespace org.mariuszgromada.math.mxparser {
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="http://scalarmath.org/" target="_blank">ScalarMath.org</a><br>
*
* @version 4.3.0
* @version 4.3.3
*
* @see Argument
* @see RecursiveArgument
Expand Down Expand Up @@ -4921,16 +4921,15 @@ public class Expression {
*/
if (t.tokenTypeId == Argument.TYPE_ID) {
Argument arg = getArgument(t.tokenId);
if ( arg.getArgumentType() == Argument.DEPENDENT_ARGUMENT ) {
if (getParametersNumber(tokenIndex) >= 0 ) {
syntax = SYNTAX_ERROR_OR_STATUS_UNKNOWN;
errorMessage = errorMessage + level + tokenStr + "<ARGUMENT> was expected.\n";
} else
if ( (arg.argumentExpression != this) && (arg.argumentExpression.recursionCallPending == false) ) {
bool syntaxRec = arg.argumentExpression.checkSyntax(level + "-> " + "[" + t.tokenStr + "] = [" + arg.argumentExpression.getExpressionString() + "] ", false);
syntax = syntax && syntaxRec;
errorMessage = errorMessage + level + tokenStr + "checking dependent argument ...\n" + arg.argumentExpression.getErrorMessage();
}
if (getParametersNumber(tokenIndex) >= 0 ) {
syntax = SYNTAX_ERROR_OR_STATUS_UNKNOWN;
errorMessage = errorMessage + level + tokenStr + "<ARGUMENT> was expected.\n";
} else if ( arg.getArgumentType() == Argument.DEPENDENT_ARGUMENT ) {
if ( (arg.argumentExpression != this) && (arg.argumentExpression.recursionCallPending == false) ) {
bool syntaxRec = arg.argumentExpression.checkSyntax(level + "-> " + "[" + t.tokenStr + "] = [" + arg.argumentExpression.getExpressionString() + "] ", false);
syntax = syntax && syntaxRec;
errorMessage = errorMessage + level + tokenStr + "checking dependent argument ...\n" + arg.argumentExpression.getErrorMessage();
}
}
}
/*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)RegTestSyntax.cs 4.3.0 2018-12-12
* @(#)RegTestSyntax.cs 4.3.3 2019-01-27
*
* You may use this software under the condition of "Simplified BSD License"
*
Expand Down Expand Up @@ -77,7 +77,7 @@ namespace org.mariuszgromada.math.mxparser.regressiontesting
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="http://scalarmath.org/" target="_blank">ScalarMath.org</a><br>
*
* @version 4.3.0
* @version 4.3.3
*
* @see Expression
*/
Expand Down Expand Up @@ -2948,6 +2948,20 @@ public class RegTestSyntax
testResult = true;
mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg);
break;
case 245:
Argument fun = new Argument("fun");
x = new Argument("x");
expStr = "fun(x)";
mXparser.consolePrint(expStr + " ...... ");
e = new Expression(expStr, fun, x);
exp[testId] = e;
bool lex = e.checkLexSyntax();
syn = e.checkSyntax();
reg = false;
if (syn == reg && lex == true)
testResult = true;
mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg);
break;
}
if (testResult == true)
mXparser.consolePrint("OK");
Expand Down Expand Up @@ -2991,7 +3005,7 @@ public class RegTestSyntax
* @return Number of tests with error result.
*/
public static int Start() {
return Start(244);
return Start(245);
}
/**
* Runs syntax checking regression test.
Expand Down
23 changes: 11 additions & 12 deletions CURRENT/java/src/org/mariuszgromada/math/mxparser/Expression.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)Expression.java 4.3.0 2018-12-12
* @(#)Expression.java 4.3.3 2019-01-27
*
* You may use this software under the condition of "Simplified BSD License"
*
Expand Down Expand Up @@ -120,7 +120,7 @@
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="http://scalarmath.org/" target="_blank">ScalarMath.org</a><br>
*
* @version 4.3.0
* @version 4.3.3
*
* @see Argument
* @see RecursiveArgument
Expand Down Expand Up @@ -4943,16 +4943,15 @@ private boolean checkSyntax(String level, boolean functionWithBodyExt) {
*/
if (t.tokenTypeId == Argument.TYPE_ID) {
Argument arg = getArgument(t.tokenId);
if ( arg.getArgumentType() == Argument.DEPENDENT_ARGUMENT ) {
if (getParametersNumber(tokenIndex) >= 0 ) {
syntax = SYNTAX_ERROR_OR_STATUS_UNKNOWN;
errorMessage = errorMessage + level + tokenStr + "<ARGUMENT> was expected.\n";
} else
if ( (arg.argumentExpression != this) && (arg.argumentExpression.recursionCallPending == false) ) {
boolean syntaxRec = arg.argumentExpression.checkSyntax(level + "-> " + "[" + t.tokenStr + "] = [" + arg.argumentExpression.getExpressionString() + "] ", false);
syntax = syntax && syntaxRec;
errorMessage = errorMessage + level + tokenStr + "checking dependent argument ...\n" + arg.argumentExpression.getErrorMessage();
}
if (getParametersNumber(tokenIndex) >= 0 ) {
syntax = SYNTAX_ERROR_OR_STATUS_UNKNOWN;
errorMessage = errorMessage + level + tokenStr + "<ARGUMENT> was expected.\n";
} else if ( arg.getArgumentType() == Argument.DEPENDENT_ARGUMENT ) {
if ( (arg.argumentExpression != this) && (arg.argumentExpression.recursionCallPending == false) ) {
boolean syntaxRec = arg.argumentExpression.checkSyntax(level + "-> " + "[" + t.tokenStr + "] = [" + arg.argumentExpression.getExpressionString() + "] ", false);
syntax = syntax && syntaxRec;
errorMessage = errorMessage + level + tokenStr + "checking dependent argument ...\n" + arg.argumentExpression.getErrorMessage();
}
}
}
/*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* @(#)RegTestSyntax.java 4.3.0 2018-12-12
* @(#)RegTestSyntax.java 4.3.3 2019-01-27
*
* You may use this software under the condition of "Simplified BSD License"
*
Expand Down Expand Up @@ -84,7 +84,7 @@
* <a href="https://play.google.com/store/apps/details?id=org.mathparser.scalar.pro" target="_blank">Scalar Pro</a><br>
* <a href="http://scalarmath.org/" target="_blank">ScalarMath.org</a><br>
*
* @version 4.3.0
* @version 4.3.3
*
* @see Expression
*/
Expand Down Expand Up @@ -2953,6 +2953,20 @@ private static boolean runTest(int testId) {
testResult = true;
mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg);
break;
case 245:
Argument fun = new Argument("fun");
x = new Argument("x");
expStr = "fun(x)";
mXparser.consolePrint(expStr + " ...... ");
e = new Expression(expStr, fun, x);
exp[testId] = e;
boolean lex = e.checkLexSyntax();
syn = e.checkSyntax();
reg = false;
if (syn == reg && lex == true)
testResult = true;
mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg);
break;
}
if (testResult == true)
mXparser.consolePrint("OK");
Expand Down Expand Up @@ -2998,7 +3012,7 @@ public static int start(int numOfTests) {
* @return Number of tests with error result.
*/
public static int start() {
return start(244);
return start(245);
}
/**
* Runs syntax checking regression test.
Expand Down

0 comments on commit 43d2b33

Please sign in to comment.