Skip to content
Snippets Groups Projects
Commit ef78f017 authored by dgelessus's avatar dgelessus
Browse files

Update parsers to version 2.12.3 (current release)

parent 4d3ff9a1
No related branches found
No related tags found
No related merge requests found
......@@ -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')
......
......@@ -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);
}
......
......@@ -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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment