@Override public void apply(KVariable v) { vars.add(v); super.apply(v); } }.apply(term);
@Override public void apply(KVariable v) { vars.add(v); super.apply(v); } }.apply(term);
@Override public void apply(KVariable v) { vars.add(v); super.apply(v); } }.apply(term);
@Override public void apply(KVariable v) { vars.add(v); super.apply(v); } }.apply(term);
@Override public void apply(KVariable v) { vars.add(v); super.apply(v); } }.apply(term);
@Override public void apply(KVariable k) { if (!k.name().equals("HOLE")) { vars.put(k, k); finalHolePosition[0] = currentHolePosition[0]; } else { holeVar = k; currentHolePosition[0]++; } super.apply(k); }
@Override public void apply(KVariable k) { if (k.name().startsWith("!")) { freshVars.add(k); } super.apply(k); } }.apply(term);
@Override public K apply(KVariable k) { if (varToTypedVar.containsKey(k)) { return varToTypedVar.get(k); } return super.apply(k); } }.apply(term);
@Override public void apply(KRewrite k) { boolean inRewrite = h.inRewrite; if (h.inRewrite) { errors.add(KEMException.compilerError("Rewrites are not allowed to be nested.", k)); } h.hasRewrite = true; h.inRewrite = true; super.apply(k); h.inRewrite = inRewrite; }
@Override public void apply(KApply k) { if (ConvertDataStructureToLookup.isLookupKLabel(k)) { h.i++; } super.apply(k); } }.apply(r.requires());
@Override public void apply(KRewrite k) { heated = k.right(); super.apply(k); }
@Override public void apply(KApply k) { if (k.klabel().name().equals("#externalCell")) { hasConfigVar = true; } super.apply(k); }
@Override public void apply(InjectedKLabel k) { apply(k.klabel(), k); super.apply(k); }
@Override public void apply(KApply k) { apply(k.klabel(), k); super.apply(k); }
@Override public void apply(KApply k) { if (k.klabel() instanceof KVariable) vars.put((KVariable) k.klabel(), InjectedKLabel(k.klabel())); super.apply(k); } }.process(body);
@Override public void apply(KApply k) { if (cfg.isParentCell(k.klabel())) { if (inRewrite) { processSide(k, inRhs, k.klist().stream() .flatMap(this::streamCells) .collect(Collectors.toList())); } else { processSide(k, false, k.klist().stream() .flatMap(this::streamCells).map(this::left).flatMap(this::streamCells) .collect(Collectors.toList())); processSide(k, true, k.klist().stream() .flatMap(this::streamCells).map(this::right).flatMap(this::streamCells) .collect(Collectors.toList())); } } super.apply(k); }
@Override public void apply(KRewrite k) { if (!isHOLE(k.left())) { throw KEMException.compilerError("Only the HOLE can be rewritten in a context definition", context); } super.apply(k); }
@Override public void apply(KApply k) { if (k.klabel().name().equals("<k>")) { if (k.klist().items().size() == 1) { if (k.klist().items().get(0) instanceof KSequence) { KSequence seq = (KSequence) k.klist().items().get(0); if (seq.items().size() >= 1) { kCells.add(k); } } } } super.apply(k); } }.apply(body);