use of de.be4.classicalb.core.parser.node.Node in project probparsers by bendisposto.
the class PrologGeneratorHelper method det.
public void det(ADetLtl node, PrologGenerator gen) {
LinkedList<PActions> list = node.getArgs();
pto.openTerm("ap");
pto.openTerm("det");
pto.openList();
for (PActions pLtl : list) {
pLtl.apply(gen);
}
pto.closeList();
pto.closeTerm();
pto.closeTerm();
}
use of de.be4.classicalb.core.parser.node.Node in project probparsers by bendisposto.
the class LTLFormulaVisitor method handleQuantification.
private void handleQuantification(de.be4.ltl.core.parser.node.Node node, String parameterName, String bPredicateString, PLtl ltl) {
// create an identifier (b ast node) for the parameter of the
// quantification
List<TIdentifierLiteral> list = new ArrayList<TIdentifierLiteral>();
list.add(new TIdentifierLiteral(parameterName));
AIdentifierExpression parameterNode = new AIdentifierExpression(list);
// add the created identifier to the current context
Hashtable<String, AIdentifierExpression> currentContext = new Hashtable<String, AIdentifierExpression>();
currentContext.put(parameterName, parameterNode);
this.contextTable.add(currentContext);
// collection the all parameters in
ltlIdentifierTable.put(parameterName, parameterNode);
// parse the b predicate and create a reference to the b ast node
de.be4.classicalb.core.parser.node.Start start = parseBPredicate(bPredicateString);
ltlNodeToBNodeTable.put(node, start);
// collect all identifiers which can be used in the bPredicate and
// verify the bPredicate
LTLBPredicate ltlBPredicate = new LTLBPredicate(getUnifiedContext(), start);
this.bPredicates.add(ltlBPredicate);
machineContext.checkLTLBPredicate(ltlBPredicate);
// remaining LTL formula
ltl.apply(this);
// remove currentContext from contextTable
contextTable.remove(contextTable.size() - 1);
}
use of de.be4.classicalb.core.parser.node.Node in project probparsers by bendisposto.
the class BoolType method createASTNode.
public PExpression createASTNode(Typechecker typechecker) {
ABoolSetExpression node = new ABoolSetExpression();
typechecker.setType(node, new SetType(this));
return node;
}
use of de.be4.classicalb.core.parser.node.Node in project probparsers by bendisposto.
the class FunctionType method createASTNode.
@Override
public PExpression createASTNode(Typechecker typechecker) {
APartialFunctionExpression node = new APartialFunctionExpression(domain.createASTNode(typechecker), range.createASTNode(typechecker));
typechecker.setType(node, new SetType(this));
return node;
}
use of de.be4.classicalb.core.parser.node.Node in project probparsers by bendisposto.
the class TranslatingVisitor method caseACoupleExpression.
@Override
public void caseACoupleExpression(ACoupleExpression node) {
List<BObject> s = new ArrayList<BObject>();
for (PExpression e : node.getList()) {
e.apply(this);
s.add(this.getResult());
}
this.setResult(new Tuple(s));
}
Aggregations