use of de.bmoth.parser.ast.nodes.ltl.LTLInfixOperatorNode in project bmoth by hhu-stups.
the class ConvertFinallyPhiToTrueUntilPhi method transformNode.
@Override
public Node transformNode(Node oldNode) {
LTLPrefixOperatorNode finallyOperator = (LTLPrefixOperatorNode) oldNode;
LTLNode argument = finallyOperator.getArgument();
LTLKeywordNode trueNode = new LTLKeywordNode(LTLKeywordNode.Kind.TRUE);
return new LTLInfixOperatorNode(LTLInfixOperatorNode.Kind.UNTIL, trueNode, argument);
}
use of de.bmoth.parser.ast.nodes.ltl.LTLInfixOperatorNode in project bmoth by hhu-stups.
the class ConvertGloballyPhiToFalseReleasePhi method transformNode.
@Override
public Node transformNode(Node oldNode) {
LTLPrefixOperatorNode globallyOperator = (LTLPrefixOperatorNode) oldNode;
LTLNode argument = globallyOperator.getArgument();
return new LTLInfixOperatorNode(LTLInfixOperatorNode.Kind.RELEASE, new LTLKeywordNode(LTLKeywordNode.Kind.FALSE), argument);
}
use of de.bmoth.parser.ast.nodes.ltl.LTLInfixOperatorNode in project bmoth by hhu-stups.
the class ConvertImplicationToOr method transformNode.
@Override
public Node transformNode(Node oldNode) {
LTLInfixOperatorNode implicationOperator = (LTLInfixOperatorNode) oldNode;
LTLNode innerLeft = implicationOperator.getLeft();
LTLNode innerRight = implicationOperator.getRight();
return new LTLInfixOperatorNode(OR, new LTLPrefixOperatorNode(NOT, innerLeft), innerRight);
}
use of de.bmoth.parser.ast.nodes.ltl.LTLInfixOperatorNode in project bmoth by hhu-stups.
the class ConvertNotRelease method transformNode.
@Override
public Node transformNode(Node node) {
LTLPrefixOperatorNode not = (LTLPrefixOperatorNode) node;
LTLInfixOperatorNode release = (LTLInfixOperatorNode) not.getArgument();
LTLNode innerLeft = release.getLeft();
LTLNode innerRight = release.getRight();
return new LTLInfixOperatorNode(UNTIL, new LTLPrefixOperatorNode(NOT, innerLeft), new LTLPrefixOperatorNode(NOT, innerRight));
}
use of de.bmoth.parser.ast.nodes.ltl.LTLInfixOperatorNode in project bmoth by hhu-stups.
the class ConvertWeakToRelease method transformNode.
@Override
public Node transformNode(Node oldNode) {
LTLInfixOperatorNode weakOperator = (LTLInfixOperatorNode) oldNode;
LTLNode innerLeft = weakOperator.getLeft();
LTLNode innerRight = weakOperator.getRight();
return new LTLInfixOperatorNode(LTLInfixOperatorNode.Kind.RELEASE, innerRight, new LTLInfixOperatorNode(LTLInfixOperatorNode.Kind.OR, innerLeft, innerRight));
}
Aggregations