mirror of
https://github.com/DanilaFe/abacus
synced 2026-01-25 08:05:19 +00:00
Compare commits
6 Commits
definition
...
unary-minu
| Author | SHA1 | Date | |
|---|---|---|---|
| ac17246317 | |||
| 18e0bdebc5 | |||
| 251d0fc2c5 | |||
| 93c1c53612 | |||
| 0b6798e28d | |||
| 4188c83a66 |
@@ -11,7 +11,7 @@ import org.nwapw.abacus.number.NumberInterface
|
||||
*
|
||||
* This is a standard operator that simply performs addition.
|
||||
*/
|
||||
class OperatorAdd: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 0) {
|
||||
class OperatorAdd: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 1) {
|
||||
|
||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||
params.size == 2
|
||||
|
||||
@@ -12,7 +12,7 @@ import org.nwapw.abacus.plugin.standard.StandardPlugin.*
|
||||
*
|
||||
* This is a standard operator that brings one number to the power of the other.
|
||||
*/
|
||||
class OperatorCaret: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 2) {
|
||||
class OperatorCaret: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 3) {
|
||||
|
||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||
params.size == 2
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.nwapw.abacus.number.NumberInterface
|
||||
*
|
||||
* This is a standard operator that simply performs division.
|
||||
*/
|
||||
class OperatorDivide: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 1) {
|
||||
class OperatorDivide: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 2) {
|
||||
|
||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||
params.size == 2
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.nwapw.abacus.number.NumberInterface
|
||||
*
|
||||
* This is a standard operator that simply performs multiplication.
|
||||
*/
|
||||
class OperatorMultiply: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 1) {
|
||||
class OperatorMultiply: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 2) {
|
||||
|
||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||
params.size == 2
|
||||
|
||||
@@ -14,7 +14,7 @@ import org.nwapw.abacus.plugin.standard.StandardPlugin.OP_NPR
|
||||
* This is a standard operator that returns the number of possible combinations, regardless of order,
|
||||
* of a certain size can be taken out of a pool of a bigger size.
|
||||
*/
|
||||
class OperatorNcr: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 0) {
|
||||
class OperatorNcr: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 1) {
|
||||
|
||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||
params.size == 2 && params[0].isInteger()
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.nwapw.abacus.number.NumberInterface
|
||||
*
|
||||
* This is a standard operator that negates a number.
|
||||
*/
|
||||
class OperatorNegate: NumberOperator(OperatorAssociativity.LEFT, OperatorType.UNARY_PREFIX, 0) {
|
||||
class OperatorNegate: NumberOperator(OperatorAssociativity.LEFT, OperatorType.UNARY_PREFIX, 1) {
|
||||
|
||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||
params.size == 1
|
||||
|
||||
@@ -12,7 +12,7 @@ import org.nwapw.abacus.number.NumberInterface
|
||||
* his is a standard operator that returns the number of possible combinations
|
||||
* of a certain size can be taken out of a pool of a bigger size.
|
||||
*/
|
||||
class OperatorNpr: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 0) {
|
||||
class OperatorNpr: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 1) {
|
||||
|
||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||
params.size == 2 && params[0].isInteger()
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.nwapw.abacus.number.NumberInterface
|
||||
*
|
||||
* This is a standard operator that performs subtraction.
|
||||
*/
|
||||
class OperatorSubtract: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 0) {
|
||||
class OperatorSubtract: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 1) {
|
||||
|
||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||
params.size == 2
|
||||
|
||||
@@ -329,9 +329,11 @@ public class AbacusController implements PluginListener {
|
||||
abacus.applyToContext(result.getResultingContext());
|
||||
}
|
||||
} catch (AbacusException abacusError) {
|
||||
outputText.setText(ERR_DEFINITION + "(" + abacusError.getMessage() + ")");
|
||||
outputText.setText(ERR_DEFINITION + " (" + abacusError.getMessage() + ")");
|
||||
abacusError.printStackTrace();
|
||||
} catch (RuntimeException runtime) {
|
||||
outputText.setText(ERR_DEFINITION + "(" + ERR_EXCEPTION + ")");
|
||||
outputText.setText(ERR_DEFINITION + " (" + ERR_EXCEPTION + ")");
|
||||
runtime.printStackTrace();
|
||||
} catch (FileNotFoundException ignored) {}
|
||||
}
|
||||
|
||||
@@ -345,13 +347,13 @@ public class AbacusController implements PluginListener {
|
||||
} catch (IOException | ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
abacus.reload();
|
||||
reloadAbacus();
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void performReload() {
|
||||
alertIfApplyNeeded(true);
|
||||
abacus.reload();
|
||||
reloadAbacus();
|
||||
}
|
||||
|
||||
@FXML
|
||||
@@ -391,6 +393,13 @@ public class AbacusController implements PluginListener {
|
||||
changesMade = true;
|
||||
}
|
||||
|
||||
private void reloadAbacus(){
|
||||
abacus.reload();
|
||||
for(String file : definitionFiles){
|
||||
loadDefinitionFile(file);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad(PluginManager manager) {
|
||||
ExtendedConfiguration configuration = (ExtendedConfiguration) abacus.getConfiguration();
|
||||
@@ -420,9 +429,6 @@ public class AbacusController implements PluginListener {
|
||||
}).collect(Collectors.toCollection(ArrayList::new)));
|
||||
functionList.sort(Comparator.comparing(Documentation::getCodeName));
|
||||
definitionFiles.addAll(configuration.getDefinitionFiles());
|
||||
for(String file : definitionFiles){
|
||||
loadDefinitionFile(file);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user