}
public Object visit(final RIFRule n, final IRuleNode argu) {
final Rule rule = new Rule();
rule.setParent(argu);
RIFClause clause = null;
// Wenn Variablen vorhanden
if (n.f0.which == 0) {
final List<INode> seq = (List<INode>) n.f0.choice.accept(this, rule);
for (final INode node : ((List<INode>) seq.get(1).accept(this, rule)))
rule.addVariable((RuleVariable) node.accept(this, rule));
clause = (RIFClause) seq.get(3);
} else
clause = (RIFClause) n.f0.choice;
clause.accept(this, rule);
return rule;
}