private void createLanguageDescriptions(final ResourceFile specFile)
			throws SAXException, IOException {
		ErrorHandler errHandler = new ErrorHandler() {
			@Override
			public void error(SAXParseException exception) throws SAXException {
				Msg.error(SleighLanguageProvider.this, "Error parsing " + specFile, exception);
			}

			@Override
			public void fatalError(SAXParseException exception) throws SAXException {
				Msg.error(SleighLanguageProvider.this, "Fatal error parsing " + specFile,
					exception);
			}

			@Override
			public void warning(SAXParseException exception) throws SAXException {
				Msg.warn(SleighLanguageProvider.this, "Warning parsing " + specFile, exception);
			}
		};
		XmlPullParser parser = XmlPullParserFactory.create(specFile, errHandler, false);
		try {
			read(parser, specFile.getParentFile(), specFile.getName());
		}
		finally {
			parser.dispose();
		}
	}
Construct language provider (intended for test use only)
@param ldefsFile language definitions file
@throws SAXException if parse error occurs
@throws IOException if IO error occurs
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/processors/sleigh/SleighLanguageProvider.java