All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.berkeley.nlp.util.TrieWithBackPointers Maven / Gradle / Ivy

Go to download

The Berkeley parser analyzes the grammatical structure of natural language using probabilistic context-free grammars (PCFGs).

The newest version!
package edu.berkeley.nlp.util;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class TrieWithBackPointers extends Trie
{

	
	@Override
	protected Trie newTrie(boolean useIdentity2, K first, V v2, Trie trie)
	{
		return new TrieWithBackPointers(useIdentity2, first, v2, trie);
	}

	private Trie backPointer;





	
	
	private K k;

	public TrieWithBackPointers(boolean useIdentity)
	{
		this(useIdentity, null,null,null);
	}

	public TrieWithBackPointers()
	{
		this(false, null,null,null);
	}

	
	private TrieWithBackPointers(boolean useIdentity, K k, V v, Trie backPointer)
	{
		super(useIdentity, k, v, backPointer);
		this.backPointer = backPointer;
		this.k = k;
		
	}

	
	public Trie getPreviousTrie()
	{
		return backPointer;
	}
	
	@Override
	public TrieWithBackPointers getNextTrie(K k)
	{
		return (TrieWithBackPointers) super.getNextTrie(k);
	}

	public List retraceBackPointers()
	{

		List list = new ArrayList();
		retraceFromNodeHelper(list);
		Collections.reverse(list);
		return list;
	}

	private void retraceFromNodeHelper(List list)
	{
		if (k == null) return;
		list.add(k);
		
		((TrieWithBackPointers) backPointer).retraceFromNodeHelper(list);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy