public static String generateExpressionForRange(Language language, AddressRange range) {
		AddressSpace space = range.getAddressSpace();
		long length = range.getLength();
		long offset = range.getMinAddress().getOffset();
		int ptrSize = space.getPointerSize();
		if (language != null && language.getDefaultSpace() == space) {
			return String.format("*:%d 0x%08x:%d", length, offset, ptrSize);
		}
		return String.format("*[%s]:%d 0x%08x:%d", space.getName(), length, offset, ptrSize);
	}
Generate the expression for retrieving a memory range

<p>
In general, it does not make sense to use this directly with the above evaluation methods.
More likely, this is used in the UI to aid the user in generating an expression. From the
API, it's much easier to access the memory state directly.

@param language the language
@param range the range
@return the expression
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/pcode/exec/trace/TraceSleighUtils.java