private LanguageDescription parseDescription(Element element, int version) throws SAXException {
		LanguageID id = null;
		Processor processor = null;
		int size = 0;
		String variant = null;

		CompilerSpecID compilerSpecID = null;

		List<?> children = element.getChildren();
		Iterator<?> iter = children.iterator();
		while (iter.hasNext()) {
			Element childElement = (Element) iter.next();
			String elementName = childElement.getName();
			String text = childElement.getText().trim();
			if (elementName.equals("name")) {
				LanguageCompilerSpecPair pair =
					OldLanguageMappingService.lookupMagicString(text, false);
				if (pair != null) {
					id = pair.languageID;
					compilerSpecID = pair.compilerSpecID;
				}
				else {
					throw new SAXException("Failed to map old language name: " + text);
				}
			}
			else if (elementName.equals("id")) {
				id = new LanguageID(text);
			}
			else if (elementName.equals("processor")) {
				processor = Processor.findOrPossiblyCreateProcessor(text);
			}
			else if (elementName.equals("variant")) {
				variant = text;
			}
			else if (elementName.equals("size")) {
				try {
					size = Integer.parseInt(text);
				}
				catch (NumberFormatException e) {
					throw new SAXException(e);
				}
			}
		}
		if (id == null) {
			throw new SAXException("Missing required description 'id' or 'name' element");
		}

		// An empty compiler spec list indicates that the "id" element was specified
		List<CompilerSpecDescription> complierSpecList = new ArrayList<CompilerSpecDescription>();
		if (compilerSpecID != null) {
			complierSpecList.add(
				new BasicCompilerSpecDescription(compilerSpecID, compilerSpecID.getIdAsString()));
		}

		return new BasicLanguageDescription(id, processor, endian, endian, size, variant, "",
			version, 0, true, complierSpecList, null);
	}
Returns language description associated with this old language.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/OldLanguage.java