public static <T extends PcodeProgram> T constructProgram(PcodeProgramConstructor<T> ctor,
			SleighLanguage language, ConstructTpl template, Map<Integer, UserOpSymbol> libSyms) {
		try {
			return ctor.construct(language, SleighProgramCompiler.buildOps(language, template),
				libSyms);
		}
		catch (UnknownInstructionException | MemoryAccessException | IOException e) {
			throw new AssertionError(e);
		}
	}
Invoke the given constructor with the given template and library symbols

@param <T> the type of the p-code program
@param ctor the constructor, often a method reference to {@code ::new}
@param language the language producing the p-code
@param template the p-code constructor template
@param libSyms the map of symbols by userop ID
@return the p-code program
Ghidra/Framework/Emulation/src/main/java/ghidra/pcode/exec/SleighProgramCompiler.java