Phase: MathematicianContext Input: Lookup Mathematician Token Person FirstPerson Options: control = appelt Rule: Father3 Priority: 50 ( ({Token.string == "father"}) ({Token})? ({Token.string == "was"})? ( {FirstPerson} ({Mathematician}):lastname ):father ) --> { System.out.println("HI3"); gate.AnnotationSet lastname = (gate.AnnotationSet) bindings.get("lastname"); System.out.println(lastname.toString()); System.out.println("removed lastname"); annotations.removeAll(lastname); gate.AnnotationSet father = (gate.AnnotationSet) bindings.get("father"); gate.FeatureMap features = Factory.newFeatureMap(); features.put("rule", "Father3"); annotations.removeAll(father); annotations.add(father.firstNode(), father.lastNode(), "Father", features); annotations.add(father.firstNode(), father.lastNode(), "Person", features); annotations.add(father.firstNode(), father.lastNode(), "Relative", features); } Rule: Father4 Priority: 50 ( ({Token.string == "father"}) ({Token})? ({Token.string == "was"})? ( {Person} ):father ) --> { System.out.println("HI4"); gate.AnnotationSet father = (gate.AnnotationSet) bindings.get("father"); gate.FeatureMap features = Factory.newFeatureMap(); features.put("rule", "Father4"); annotations.removeAll(father); annotations.add(father.firstNode(), father.lastNode(), "Father", features); annotations.add(father.firstNode(), father.lastNode(), "Relative", features); } Rule: Father2 Priority: 50 ( {FirstPerson} ({Mathematician}):lastname ):father --> { System.out.println("HI2"); gate.AnnotationSet lastname = (gate.AnnotationSet) bindings.get("lastname"); annotations.removeAll(lastname); gate.AnnotationSet father = (gate.AnnotationSet) bindings.get("father"); gate.FeatureMap features = Factory.newFeatureMap(); features.put("rule", "Father2"); annotations.add(father.firstNode(), father.lastNode(), "Relative", features); annotations.removeAll(father); } Rule: Father1 Priority:50 ( ({Token.string == "father"}) ({Token})? ({Token.string == "was"})? ({Person}):father ) --> { System.out.println("HI1"); gate.AnnotationSet father = (gate.AnnotationSet) bindings.get("father"); gate.FeatureMap features = Factory.newFeatureMap(); features.put("rule", "Father1"); annotations.add(father.firstNode(), father.lastNode(), "Father", features); annotations.add(father.firstNode(), father.lastNode(), "Relative", features); annotations.removeAll(father); } Rule:FullMathematician Priority: 1000 ( {Lookup.majorType == mathematician, Lookup.minorType == long} ) :mathematician --> { } Rule: Mother3 Priority: 50 ( ({Token.string == "mother"}) ({Token})? ({Token.string == "was"})? ( {FirstPerson} ({Mathematician}):lastname ):mother ) --> { System.out.println("HI3"); gate.AnnotationSet lastname = (gate.AnnotationSet) bindings.get("lastname"); System.out.println(lastname.toString()); System.out.println("removed lastname"); annotations.removeAll(lastname); gate.AnnotationSet mother = (gate.AnnotationSet) bindings.get("mother"); gate.FeatureMap features = Factory.newFeatureMap(); features.put("rule", "Mother3"); annotations.removeAll(mother); annotations.add(mother.firstNode(), mother.lastNode(), "Mother", features); annotations.add(mother.firstNode(), mother.lastNode(), "Person", features); annotations.add(mother.firstNode(), mother.lastNode(), "Relative", features); } Rule: Mother4 Priority: 50 ( ({Token.string == "mother"}) ({Token})? ({Token.string == "was"})? ( {Person} ):mother ) --> { System.out.println("HI4"); gate.AnnotationSet mother = (gate.AnnotationSet) bindings.get("mother"); gate.FeatureMap features = Factory.newFeatureMap(); features.put("rule", "Mother4"); annotations.removeAll(mother); annotations.add(mother.firstNode(), mother.lastNode(), "Mother", features); annotations.add(mother.firstNode(), mother.lastNode(), "Relative", features); } Rule: Mother1 Priority:50 ( ({Token.string == "mother"}) ({Token})? ({Token.string == "was"})? ({Person}):mother ) --> { System.out.println("HI1"); gate.AnnotationSet mother = (gate.AnnotationSet) bindings.get("mother"); gate.FeatureMap features = Factory.newFeatureMap(); features.put("rule", "Mother1"); annotations.add(mother.firstNode(), mother.lastNode(), "Mother", features); annotations.add(mother.firstNode(), mother.lastNode(), "Relative", features); annotations.removeAll(mother); }