public static Map<Integer, DWARFAbbreviation> readAbbreviations(BinaryReader reader,
			DWARFProgram prog, TaskMonitor monitor) throws IOException, CancelledException {
		Map<Integer, DWARFAbbreviation> result = new HashMap<>();

		// Read a list of abbreviations, terminated by a marker value that returns null from read()
		DWARFAbbreviation abbrev = null;
		while ((abbrev = DWARFAbbreviation.read(reader, prog, monitor)) != null) {
			monitor.checkCancelled();
			result.put(abbrev.getAbbreviationCode(), abbrev);
		}

		return result;
	}
Reads a list of {@link DWARFAbbreviation}, stopping when the end-of-list marker is
encountered.

@param reader {@link BinaryReader} .debug_abbr stream
@param prog {@link DWARFProgram}
@param monitor {@link TaskMonitor}
@return map of abbrCode -> abbr instance
@throws IOException if error reading
@throws CancelledException if cancelled
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/DWARFAbbreviation.java