@Override public void apply(KAs k) { sb.append("("); apply(k.pattern()); sb.append(" as "); apply(k.alias()); sb.append(")"); }
@Override public void apply(KAs k) { Sort sort = k.att().get(Sort.class); sb.append("\\and{"); convert(sort, false); sb.append("}("); apply(k.pattern()); sb.append(","); apply(k.alias()); sb.append(")"); }
public DefaultMutableTreeNode apply(KAs k) { DefaultMutableTreeNode pattern = apply(k.pattern()); DefaultMutableTreeNode alias = apply(k.alias()); if (pattern.isLeaf() && alias.isLeaf()) { String text = ToKast.apply(k); if (text.length() < 80) { return new DefaultMutableTreeNode(text); } } DefaultMutableTreeNode node = new DefaultMutableTreeNode("#as"); node.add(pattern); node.add(alias); return node; }
private boolean isList(K item, boolean klist, boolean rhs, VarInfo vars, boolean anywhereRule) { return !klist && ((item instanceof KVariable && getSortOfVar((KVariable)item, vars).equals("K")) || item instanceof KSequence || (item instanceof KAs && isList(((KAs) item).alias(), klist, rhs, vars, anywhereRule)) || (item instanceof KApply && (functions.contains(((KApply) item).klabel()) || (((anywhereKLabels.contains(((KApply) item).klabel()) && !anywhereRule) || ((KApply) item).klabel() instanceof KVariable) && rhs)))) && !(!rhs && item instanceof KApply && collectionFor.containsKey(((KApply) item).klabel())); }
knode.add("alias", toJson(alias.alias())); knode.add("att", alias.att().toString());
KAs as = (KAs) term; Sort patternSort = sort(as.pattern(), expectedSort); Sort rightSort = sort(as.alias(), expectedSort); return lubSort(patternSort, rightSort, expectedSort, term); } else {
} else if (term instanceof KAs) { KAs kas = (KAs)term; return KAs(addInjections(kas.pattern(), actualSort), kas.alias(), att); } else { throw KEMException.internalError("Invalid category of k found.", term);