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

net.amygdalum.patternsearchalgorithms.automaton.chars.NFAMatcher Maven / Gradle / Ivy

package net.amygdalum.patternsearchalgorithms.automaton.chars;

import static net.amygdalum.patternsearchalgorithms.automaton.chars.NFAMatcherState.of;

import net.amygdalum.util.io.CharProvider;

public class NFAMatcher {

	private CharProvider chars;
	private NFAMatcherState activeState;

	public NFAMatcher(NFA automaton, CharProvider chars) {
		this.chars = chars;
		this.activeState = of(automaton.getStart(), new Groups(), chars.current());
	}

	public boolean matches() {
		while (!chars.finished()) {
			char c = chars.next();
			activeState = activeState.next(c, chars.current());
		}
		return activeState.isAccepting(chars.current());
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy