From ef78f0174bffb10981c89300bec24be30e511779 Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Thu, 27 Apr 2023 22:53:55 +0200 Subject: [PATCH] Update parsers to version 2.12.3 (current release) --- build.gradle | 2 +- .../java/de/tlc4b/analysis/MachineContext.java | 17 +++++++++-------- .../analysis/transformation/SeesEliminator.java | 10 +++++----- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/build.gradle b/build.gradle index 3b15122..8324e65 100644 --- a/build.gradle +++ b/build.gradle @@ -26,7 +26,7 @@ configurations.all { resolutionStrategy.cacheChangingModulesFor 0, 'seconds' } -def parser_version = '2.9.25' +def parser_version = '2.12.3' dependencies { //implementation(group: 'com.microsoft', name: 'tla2tools', version: '1.4.6') diff --git a/src/main/java/de/tlc4b/analysis/MachineContext.java b/src/main/java/de/tlc4b/analysis/MachineContext.java index 184f6bd..3bcadcd 100644 --- a/src/main/java/de/tlc4b/analysis/MachineContext.java +++ b/src/main/java/de/tlc4b/analysis/MachineContext.java @@ -38,6 +38,7 @@ import de.be4.classicalb.core.parser.node.AInvariantMachineClause; import de.be4.classicalb.core.parser.node.ALambdaExpression; import de.be4.classicalb.core.parser.node.ALetSubstitution; import de.be4.classicalb.core.parser.node.AMachineHeader; +import de.be4.classicalb.core.parser.node.AMachineReferenceNoParams; import de.be4.classicalb.core.parser.node.AOpSubstitution; import de.be4.classicalb.core.parser.node.AOperation; import de.be4.classicalb.core.parser.node.AOperationsMachineClause; @@ -58,6 +59,7 @@ import de.be4.classicalb.core.parser.node.PDefinition; import de.be4.classicalb.core.parser.node.PExpression; import de.be4.classicalb.core.parser.node.PMachineClause; import de.be4.classicalb.core.parser.node.PMachineHeader; +import de.be4.classicalb.core.parser.node.PMachineReferenceNoParams; import de.be4.classicalb.core.parser.node.POperation; import de.be4.classicalb.core.parser.node.PPredicate; import de.be4.classicalb.core.parser.node.PSet; @@ -90,7 +92,7 @@ public class MachineContext extends DepthFirstAdapter { private final LinkedHashMap<String, Node> constants; private final LinkedHashMap<String, Node> definitions; private final LinkedHashMap<String, Node> operations; - private final LinkedHashMap<String, AIdentifierExpression> seenMachines; + private final LinkedHashMap<String, AMachineReferenceNoParams> seenMachines; private PMachineHeader header; private AAbstractMachineParseUnit abstractMachineParseUnit; @@ -124,7 +126,7 @@ public class MachineContext extends DepthFirstAdapter { this.variables = new LinkedHashMap<String, Node>(); this.definitions = new LinkedHashMap<String, Node>(); this.operations = new LinkedHashMap<String, Node>(); - this.seenMachines = new LinkedHashMap<String, AIdentifierExpression>(); + this.seenMachines = new LinkedHashMap<>(); } public void analyseMachine() { @@ -383,13 +385,12 @@ public class MachineContext extends DepthFirstAdapter { @Override public void caseASeesMachineClause(ASeesMachineClause node) { this.seesMachineClause = node; - List<PExpression> copy = new ArrayList<PExpression>(node.getMachineNames()); - for (PExpression e : copy) { - AIdentifierExpression p = (AIdentifierExpression) e; - String name = Utils.getTIdentifierListAsString(p.getIdentifier()); + for (PMachineReferenceNoParams e : new ArrayList<>(node.getMachineNames())) { + AMachineReferenceNoParams p = (AMachineReferenceNoParams) e; + String name = Utils.getTIdentifierListAsString(p.getMachineName()); try { - exist(p.getIdentifier()); + identifierAlreadyExists(name); } catch (ScopeException e2) { throw new ScopeException("Machine '" + name + "' is seen twice."); } @@ -966,7 +967,7 @@ public class MachineContext extends DepthFirstAdapter { return new LinkedHashMap<>(enumValues); } - public LinkedHashMap<String, AIdentifierExpression> getSeenMachines() { + public LinkedHashMap<String, AMachineReferenceNoParams> getSeenMachines() { return new LinkedHashMap<>(seenMachines); } diff --git a/src/main/java/de/tlc4b/analysis/transformation/SeesEliminator.java b/src/main/java/de/tlc4b/analysis/transformation/SeesEliminator.java index fb46a53..aa51bfa 100644 --- a/src/main/java/de/tlc4b/analysis/transformation/SeesEliminator.java +++ b/src/main/java/de/tlc4b/analysis/transformation/SeesEliminator.java @@ -13,12 +13,13 @@ import de.be4.classicalb.core.parser.node.AAssertionsMachineClause; import de.be4.classicalb.core.parser.node.AConjunctPredicate; import de.be4.classicalb.core.parser.node.AConstantsMachineClause; import de.be4.classicalb.core.parser.node.ADefinitionsMachineClause; -import de.be4.classicalb.core.parser.node.AIdentifierExpression; +import de.be4.classicalb.core.parser.node.AMachineReferenceNoParams; import de.be4.classicalb.core.parser.node.APropertiesMachineClause; import de.be4.classicalb.core.parser.node.ASeesMachineClause; import de.be4.classicalb.core.parser.node.PDefinition; import de.be4.classicalb.core.parser.node.PExpression; import de.be4.classicalb.core.parser.node.PMachineClause; +import de.be4.classicalb.core.parser.node.PMachineReferenceNoParams; import de.be4.classicalb.core.parser.node.PParseUnit; import de.be4.classicalb.core.parser.node.PPredicate; import de.be4.classicalb.core.parser.node.Start; @@ -52,11 +53,10 @@ public class SeesEliminator extends DepthFirstAdapter { } public void inASeesMachineClause(ASeesMachineClause node) { - LinkedList<PExpression> machineNames = node.getMachineNames(); - for (PExpression pExpression : machineNames) { - AIdentifierExpression id = (AIdentifierExpression) pExpression; + for (PMachineReferenceNoParams pExpression : node.getMachineNames()) { + AMachineReferenceNoParams id = (AMachineReferenceNoParams) pExpression; String machineName = Utils - .getTIdentifierListAsString(id.getIdentifier()); + .getTIdentifierListAsString(id.getMachineName()); if (!resolvedMachines.contains(machineName)) { resolvedMachines.add(machineName); Start start = parsedMachines.get(machineName); -- GitLab