!7 sS input = [[ Rule: /,/ [regexp] => The line contains a comma. Input: "Hello," Output: "The line contains a comma." ---- Same rule. Input: "Yo." Output: - ]]; p-exp { scoreToConsole(voidfunc(Scorer scorer) { LS tests = splitAtMultipleMinusLines(input); SS map = null; for (S test : tests) { print(); SS lastMap = map; map = parseColonProperties_withMultiLines(test, ciSS()); if (containsTrimmedLineIC(test, "Same rule.")) map.put("Rule", lastMap.get("Rule")); pnlStruct(map); S input = unquote(map.get("Input")); S output = unquote(map.get("Output")); PairS rule = splitAtDoubleArrow_pair(map.get("Rule")); S out = "-"; S in = rule.a; PairS inAndType = splitTrailingSquareBracketStuff(in); if (eqic(inAndType.b, "regexp")) if (regexpContains(dropTrailingAndLeadingSlash(inAndType.a), input)) out = rule.b; scorer.eq(out, output); } }); }