private DisassembledLine parseDisassembledLine(String text) { // [B] >> 0000: final Pattern pattern = Pattern.compile("^(\\[[B_]{1}\\]){0,1}[ ]*(>>){0,1}[ ]*([0-9a-f]+):(.*?);(.*)"); final Matcher m = pattern.matcher(text); if (!m.matches()) { throw new RuntimeException("Unparseable line '" + text + "'"); } @SuppressWarnings("unused") final String hasBreakpoint = m.group(1); @SuppressWarnings("unused") final String isAtCurrentPC = m.group(2); final Address address = Address.wordAddress(Misc.parseHexString(m.group(3))); final String disassembly = m.group(4); final String instructionWordsHexDump = m.group(5).trim(); final Size instructionSize = Size.words(instructionWordsHexDump.split(" ").length); return new DisassembledLine(address, disassembly, instructionSize); }