diff --git a/src/main/java/de/tlc4b/analysis/Renamer.java b/src/main/java/de/tlc4b/analysis/Renamer.java index 907739f9ce192973a7b0a26cc49769da05f31c35..d98a9ffe40983a34cb856a37234bb8579d71315a 100644 --- a/src/main/java/de/tlc4b/analysis/Renamer.java +++ b/src/main/java/de/tlc4b/analysis/Renamer.java @@ -147,13 +147,11 @@ public class Renamer extends DepthFirstAdapter { for (PDefinition e : copy) { String name = null; if (e instanceof AExpressionDefinitionDefinition) { - name = ((AExpressionDefinitionDefinition) e).getName() - .getText(); + name = ((AExpressionDefinitionDefinition) e).getName().getText(); } else if (e instanceof APredicateDefinitionDefinition) { name = ((APredicateDefinitionDefinition) e).getName().getText(); } else if (e instanceof ASubstitutionDefinitionDefinition) { - name = ((ASubstitutionDefinitionDefinition) e).getName() - .getText(); + name = ((ASubstitutionDefinitionDefinition) e).getName().getText(); } String newName = incName(name); namesTable.put(e, newName); diff --git a/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java b/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java index 7c6f9510cece6e8bb051d46fa3600dbc4a4914ce..b43f7a120d8d5a01f9d2dda0b1119daab672ecc5 100644 --- a/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java +++ b/src/main/java/de/tlc4b/prettyprint/TLAPrinter.java @@ -247,16 +247,14 @@ public class TLAPrinter extends DepthFirstAdapter { } } // CONSTANTS - ArrayList<ConfigFileAssignment> assignments = configFile - .getAssignments(); + List<ConfigFileAssignment> assignments = configFile.getAssignments(); if (!assignments.isEmpty()) { configFileString.append("CONSTANTS\n"); for (ConfigFileAssignment assignment : assignments) { configFileString.append(assignment.getString(renamer)); } } - if (TLC4BGlobals.useSymmetry() - && !machineContext.getDeferredSets().isEmpty()) { + if (TLC4BGlobals.useSymmetry() && !machineContext.getDeferredSets().isEmpty()) { configFileString.append("SYMMETRY Symmetry\n"); } diff --git a/src/main/java/de/tlc4b/tla/ConfigFile.java b/src/main/java/de/tlc4b/tla/ConfigFile.java index 456c37d07d71ba7beaf39a93fbf91598e53b2fb4..9ae6778c49709e39312cd5a1e0b5ef6517763d67 100644 --- a/src/main/java/de/tlc4b/tla/ConfigFile.java +++ b/src/main/java/de/tlc4b/tla/ConfigFile.java @@ -1,46 +1,41 @@ package de.tlc4b.tla; import java.util.ArrayList; +import java.util.List; import de.tlc4b.tla.config.ConfigFileAssignment; - public class ConfigFile { - private final ArrayList<ConfigFileAssignment> assignments; + private final List<ConfigFileAssignment> assignments; private int invariantNumber; private boolean spec; private boolean init; private boolean next; private int assertionsSize; private boolean goal; - - - public ConfigFile(){ + + public ConfigFile() { this.assignments = new ArrayList<>(); this.invariantNumber = 0; } - - public ArrayList<ConfigFileAssignment> getAssignments() { + public List<ConfigFileAssignment> getAssignments() { return assignments; } public boolean isSpec(){ return spec; } - public void setInvariantNumber(int number) { this.invariantNumber = number; } - public boolean isInit() { return init; } - public boolean isNext() { return next; } @@ -49,22 +44,18 @@ public class ConfigFile { assignments.add(assignment); } - public int getInvariantNumber() { return this.invariantNumber; } - public void setInit() { this.init = true; } - public void setNext() { this.next = true; } - public void setAssertionSize(int size) { assertionsSize = size; } diff --git a/src/main/java/de/tlc4b/tla/config/ConfigFileAssignment.java b/src/main/java/de/tlc4b/tla/config/ConfigFileAssignment.java index 64b0fafa49eb5626bcfb1d2fdbcd9cc87ef01421..e74f20da48dab142b531808c02ecbca16bc6bfc2 100644 --- a/src/main/java/de/tlc4b/tla/config/ConfigFileAssignment.java +++ b/src/main/java/de/tlc4b/tla/config/ConfigFileAssignment.java @@ -2,6 +2,7 @@ package de.tlc4b.tla.config; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import de.be4.classicalb.core.parser.node.AIdentifierExpression; import de.be4.classicalb.core.parser.node.TIdentifierLiteral; @@ -12,14 +13,9 @@ public abstract class ConfigFileAssignment { public abstract String getString(Renamer renamer); public String getIdentifier(AIdentifierExpression node) { - StringBuilder res = new StringBuilder(); - - List<TIdentifierLiteral> copy = new ArrayList<>( - node.getIdentifier()); - for (TIdentifierLiteral e : copy) { - res.append(e.getText()); - } - return res.toString(); + return node.getIdentifier().stream() + .map(TIdentifierLiteral::getText) + .collect(Collectors.joining()); } } diff --git a/src/main/java/de/tlc4b/tla/config/ModelValueAssignment.java b/src/main/java/de/tlc4b/tla/config/ModelValueAssignment.java index a92f63620687d0e86a29aecc633c2c7d86087674..d341ca8ccb0f334d0fdd1f3effb6201f27b093c3 100644 --- a/src/main/java/de/tlc4b/tla/config/ModelValueAssignment.java +++ b/src/main/java/de/tlc4b/tla/config/ModelValueAssignment.java @@ -13,9 +13,7 @@ public class ModelValueAssignment extends ConfigFileAssignment{ public String getString(Renamer renamer) { AIdentifierExpression id = (AIdentifierExpression) node; - getIdentifier(id); String conString = renamer.getNameOfRef(id); - return conString+ " = "+ conString +"\n"; + return conString + " = " + conString + "\n"; } - } diff --git a/src/main/java/de/tlc4b/tla/config/SetOfModelValuesAssignment.java b/src/main/java/de/tlc4b/tla/config/SetOfModelValuesAssignment.java index 5d0607d6c77f1456d68f6c4dc31b68150a4657f2..b05655464bb39c8efbee976e0f0c97ce319a9206 100644 --- a/src/main/java/de/tlc4b/tla/config/SetOfModelValuesAssignment.java +++ b/src/main/java/de/tlc4b/tla/config/SetOfModelValuesAssignment.java @@ -1,62 +1,39 @@ package de.tlc4b.tla.config; -import java.util.List; - import de.be4.classicalb.core.parser.node.ADeferredSetSet; import de.be4.classicalb.core.parser.node.AIdentifierExpression; import de.be4.classicalb.core.parser.node.Node; -import de.be4.classicalb.core.parser.node.TIdentifierLiteral; import de.tlc4b.TLC4BGlobals; import de.tlc4b.analysis.Renamer; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + /** * * This class represents an assignment in the configuration file. The left side * of the assignment is a constant and the right side a set of model values. * E.g. k = {k1, k2, k3} */ - public class SetOfModelValuesAssignment extends ConfigFileAssignment { private final Node node; private final int size; public SetOfModelValuesAssignment(Node node, Integer size) { this.node = node; - if (size == null) { - this.size = TLC4BGlobals.getDEFERRED_SET_SIZE(); - } else { - this.size = size; - } - + this.size = size == null ? TLC4BGlobals.getDEFERRED_SET_SIZE() : size; } public String getString(Renamer renamer) { - StringBuilder res = new StringBuilder(); - - StringBuilder conString; + String conString; if (node instanceof ADeferredSetSet) { - conString = new StringBuilder(); - List<TIdentifierLiteral> copy = ((ADeferredSetSet) node) - .getIdentifier(); - for (TIdentifierLiteral e : copy) { - conString.append(e.getText()); - } - conString = new StringBuilder(renamer.getName(node)); + conString = renamer.getName(node); } else { - AIdentifierExpression id = (AIdentifierExpression) node; - conString = new StringBuilder(getIdentifier(id)); + conString = getIdentifier((AIdentifierExpression) node); } - res.append(conString).append(" = {"); - for (int j = 1; j < size + 1; j++) { - res.append(conString).append(j); - if (j < size) { - res.append(","); - } - } - res.append("}\n"); - - return res.toString(); + return conString + " = {" + + IntStream.rangeClosed(1, size).mapToObj(j -> conString + j).collect(Collectors.joining(",")) + + "}\n"; } - } diff --git a/src/main/java/de/tlc4b/tlc/TLCOutputInfo.java b/src/main/java/de/tlc4b/tlc/TLCOutputInfo.java index ed5a7bd500f44cc89c37fd010b25a63e8e70bfdd..1a5407bd1ace82e3187999fd9d092928b3d9e34d 100644 --- a/src/main/java/de/tlc4b/tlc/TLCOutputInfo.java +++ b/src/main/java/de/tlc4b/tlc/TLCOutputInfo.java @@ -63,14 +63,11 @@ public class TLCOutputInfo { identifiers.putAll(machineContext.getEnumValues()); //TODO add sets of modelvalues - - for (Entry<String, Node> entry : identifiers.entrySet()) { - String name = entry.getKey(); - Node node = entry.getValue(); + identifiers.forEach((name, node) -> { String newName = renamer.getNameOfRef(node); namesMapping.put(newName, name); typesTable.put(newName, typechecker.getType(node)); - } + }); } } diff --git a/src/main/java/de/tlc4b/tlc/TracePrinter.java b/src/main/java/de/tlc4b/tlc/TracePrinter.java index 6e5fd3eb22f8e87fe234dd31ac78ec7c84c8e848..7a4d7dc3b154d393f2b222e110368e33eb8ceeba 100644 --- a/src/main/java/de/tlc4b/tlc/TracePrinter.java +++ b/src/main/java/de/tlc4b/tlc/TracePrinter.java @@ -147,8 +147,7 @@ public class TracePrinter { } else { BType subtype = ((FunctionType) type).getRange(); res.append("["); - res.append(parseEnumerationValue(((TupleValue) val).elems, - subtype)); + res.append(parseEnumerationValue(((TupleValue) val).elems, subtype)); res.append("]"); } return res;