@Override
	public String toString() {
		AssemblySentential<?> rhs = prod.getRHS();
		AssemblySentential<?> prec = rhs.sub(0, pos);
		AssemblySentential<?> proc = rhs.sub(pos, rhs.size());
		StringBuilder sb = new StringBuilder(prod.getIndex() + ". " + prod.getLHS() + " => ");
		if (prec.size() != 0) {
			sb.append(prec + " ");
		}
		sb.append("*");
		if (proc.size() != 0) {
			sb.append(" " + proc);
		}
		return sb.toString();
	}
"Fill" one step out to close a state containing this item

<p>
To compute the full closure, you must continue stepping out until no new items are generated

@param grammar the grammar containing the production
@return a subset of items in the closure of a state containing this item
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/parse/AssemblyParseStateItem.java