@Override
	public int hashCode() {
		int result = pos;
		for (int s : output) {
			result *= 31;
			result += s;
		}
		/*for (int s : stack) {
			result *= 31;
			result += s;
		}*/ // Does not distinguish among multiple matches on a single terminal
		for (AssemblyParseTreeNode s : treeStack) {
			result *= 31;
			result += s.hashCode();
		}
		result *= 31;
		result += accepted ? 1 : 0;
		result *= 31;
		result += error;
		return result;
	}
Construct a new parse state

@param parser the parser driving this machine
@param input the full input line
@param pos the position in the line identifying the next characters to parse
@param lastTok
@param symbols
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/parse/AssemblyParseMachine.java