Search in sources :

Example 1 with AEqualPredicate

use of de.be4.classicalb.core.parser.node.AEqualPredicate in project probparsers by bendisposto.

the class ASTBuilder method createEqualPredicate.

public static AEqualPredicate createEqualPredicate(TIdentifierLiteral old, final String value) {
    TIdentifierLiteral e = NodeCloner.cloneNode(old);
    AIdentifierExpression aIdentifier = createAIdentifierExpression(e);
    final AEqualPredicate equal = new AEqualPredicate(aIdentifier, new AStringExpression(new TStringLiteral(value)));
    equal.setStartPos(e.getStartPos());
    equal.setEndPos(e.getEndPos());
    return equal;
}
Also used : AEqualPredicate(de.be4.classicalb.core.parser.node.AEqualPredicate) AIdentifierExpression(de.be4.classicalb.core.parser.node.AIdentifierExpression) AStringExpression(de.be4.classicalb.core.parser.node.AStringExpression) TStringLiteral(de.be4.classicalb.core.parser.node.TStringLiteral) TIdentifierLiteral(de.be4.classicalb.core.parser.node.TIdentifierLiteral)

Example 2 with AEqualPredicate

use of de.be4.classicalb.core.parser.node.AEqualPredicate in project probparsers by bendisposto.

the class BMachine method addPropertiesPredicates.

public void addPropertiesPredicates(Map<String, String> constantStringValues) {
    if (constantStringValues.size() == 0) {
        return;
    }
    APropertiesMachineClause clause = new APropertiesMachineClause();
    this.parseUnit.getMachineClauses().add(clause);
    List<PPredicate> predList = new ArrayList<>();
    for (Entry<String, String> entry : constantStringValues.entrySet()) {
        AIdentifierExpression identifier = createIdentifier(entry.getKey());
        AStringExpression value = new AStringExpression(new TStringLiteral(entry.getValue()));
        AEqualPredicate equal = new AEqualPredicate(identifier, value);
        predList.add(equal);
    }
    clause.setPredicates(createConjunction(predList));
}
Also used : AEqualPredicate(de.be4.classicalb.core.parser.node.AEqualPredicate) AIdentifierExpression(de.be4.classicalb.core.parser.node.AIdentifierExpression) ArrayList(java.util.ArrayList) AStringExpression(de.be4.classicalb.core.parser.node.AStringExpression) TStringLiteral(de.be4.classicalb.core.parser.node.TStringLiteral) PPredicate(de.be4.classicalb.core.parser.node.PPredicate) APropertiesMachineClause(de.be4.classicalb.core.parser.node.APropertiesMachineClause)

Example 3 with AEqualPredicate

use of de.be4.classicalb.core.parser.node.AEqualPredicate in project probparsers by bendisposto.

the class ASTPrologTest method testEvent.

@Test
public void testEvent() throws BCompoundException {
    final AEventBModelParseUnit model = new AEventBModelParseUnit();
    model.setName(new TIdentifierLiteral("mm"));
    final AEventsModelClause events = new AEventsModelClause();
    model.setModelClauses(Arrays.asList((PModelClause) events));
    AEvent event = new AEvent();
    events.setEvent(Arrays.asList((PEvent) event));
    event.setEventName(new TIdentifierLiteral("testevent"));
    event.setVariables(Arrays.asList(createId("param")));
    event.setGuards(Arrays.asList((PPredicate) new ATruthPredicate()));
    PSubstitution subst1 = new AAssignSubstitution(Arrays.asList(createId("x")), Arrays.asList(createId("param")));
    event.setAssignments(Arrays.asList(subst1));
    PWitness witness = new AWitness(new TIdentifierLiteral("ab"), new AEqualPredicate(createId("ab"), createId("y")));
    event.setWitness(Arrays.asList(witness));
    event.setRefines(Arrays.asList(new TIdentifierLiteral("abstract1"), new TIdentifierLiteral("abstract2")));
    checkAST(0, "event_b_model($,mm,[events($,[" + "event($,testevent,[abstract1,abstract2],[identifier($,param)],[truth($)],[]," + "[assign($,[identifier($,x)],[identifier($,param)])]," + "[witness($,identifier(%,ab),equal($,identifier($,ab),identifier($,y)))])])])", model);
}
Also used : AEqualPredicate(de.be4.classicalb.core.parser.node.AEqualPredicate) PModelClause(de.be4.classicalb.core.parser.node.PModelClause) PPredicate(de.be4.classicalb.core.parser.node.PPredicate) TIdentifierLiteral(de.be4.classicalb.core.parser.node.TIdentifierLiteral) PEvent(de.be4.classicalb.core.parser.node.PEvent) AEventBModelParseUnit(de.be4.classicalb.core.parser.node.AEventBModelParseUnit) AWitness(de.be4.classicalb.core.parser.node.AWitness) PSubstitution(de.be4.classicalb.core.parser.node.PSubstitution) PWitness(de.be4.classicalb.core.parser.node.PWitness) AEvent(de.be4.classicalb.core.parser.node.AEvent) ATruthPredicate(de.be4.classicalb.core.parser.node.ATruthPredicate) AEventsModelClause(de.be4.classicalb.core.parser.node.AEventsModelClause) AAssignSubstitution(de.be4.classicalb.core.parser.node.AAssignSubstitution) Test(org.junit.Test)

Aggregations

AEqualPredicate (de.be4.classicalb.core.parser.node.AEqualPredicate)3 AIdentifierExpression (de.be4.classicalb.core.parser.node.AIdentifierExpression)2 AStringExpression (de.be4.classicalb.core.parser.node.AStringExpression)2 PPredicate (de.be4.classicalb.core.parser.node.PPredicate)2 TIdentifierLiteral (de.be4.classicalb.core.parser.node.TIdentifierLiteral)2 TStringLiteral (de.be4.classicalb.core.parser.node.TStringLiteral)2 AAssignSubstitution (de.be4.classicalb.core.parser.node.AAssignSubstitution)1 AEvent (de.be4.classicalb.core.parser.node.AEvent)1 AEventBModelParseUnit (de.be4.classicalb.core.parser.node.AEventBModelParseUnit)1 AEventsModelClause (de.be4.classicalb.core.parser.node.AEventsModelClause)1 APropertiesMachineClause (de.be4.classicalb.core.parser.node.APropertiesMachineClause)1 ATruthPredicate (de.be4.classicalb.core.parser.node.ATruthPredicate)1 AWitness (de.be4.classicalb.core.parser.node.AWitness)1 PEvent (de.be4.classicalb.core.parser.node.PEvent)1 PModelClause (de.be4.classicalb.core.parser.node.PModelClause)1 PSubstitution (de.be4.classicalb.core.parser.node.PSubstitution)1 PWitness (de.be4.classicalb.core.parser.node.PWitness)1 ArrayList (java.util.ArrayList)1 Test (org.junit.Test)1