public void testInitialStateFromTagged() { String[] words = {"This", "is", "a", "short", "test", "."}; String[] tags = {"DT", "VBZ", "DT", "JJ", "NN", "."}; assertEquals(words.length, tags.length); List<TaggedWord> sentence = Sentence.toTaggedList(Arrays.asList(words), Arrays.asList(tags)); State state = ShiftReduceParser.initialStateFromTaggedSentence(sentence); for (int i = 0; i < words.length; ++i) { assertEquals(tags[i], state.sentence.get(i).value()); assertEquals(1, state.sentence.get(i).children().length); assertEquals(words[i], state.sentence.get(i).children()[0].value()); } }
@Override public boolean parse(List<? extends HasWord> sentence) { this.originalSentence = sentence; initialState = ShiftReduceParser.initialStateFromTaggedSentence(sentence); return parseInternal(); }