package edu.stanford.nlp.parser.lexparser; import edu.stanford.nlp.util.logging.Redwood; // Looks like the intended behavior of TestTagProjection is: // 1) Include the basic category (everything before a '-' or '^' annotation) // 2) Include any annotation introduced with '-' // 3) Exclude any annotation introduced with '^' // 4) Annotations introduced with other characters will be included or excluded // as determined by the previous annotation or basic category. // // This seems awfully haphazard :( // // Roger /** @author Dan Klein */ public class TestTagProjection implements TagProjection { /** A logger for this class */ private static Redwood.RedwoodChannels log = Redwood.channels(TestTagProjection.class); private static final long serialVersionUID = 9161675508802284114L; public String project(String tagStr) { StringBuilder sb = new StringBuilder(); boolean good = true; for (int pos = 0, len = tagStr.length(); pos < len; pos++) { char c = tagStr.charAt(pos); if (c == '-') { good = true; } else if (c == '^') { good = false; } if (good) { sb.append(c); } } String ret = sb.toString(); // log.info("TTP mapped " + tagStr + " to " + ret); return ret; } }