package backend.mips; import java.util.ArrayList; import backend.mips.instr.MipsAnnotation; import backend.mips.instr.MipsLabel; import backend.mips.instr.MipsInstr; public class MipsModule { private ArrayList dataList; private ArrayList textList; public MipsModule() { this.dataList = new ArrayList(); this.textList = new ArrayList(); } public ArrayList getDataList() { return dataList; } public ArrayList getTextList() { return textList; } public void addData(MipsInstr instr) { dataList.add(instr); } public void addText(MipsInstr instr) { textList.add(instr); } public String toString() { StringBuilder sb = new StringBuilder(); sb.append(".data\n"); for (MipsInstr instr : dataList) { sb.append("\t" + instr.toString()); } sb.append("\n.text\n"); for (MipsInstr instr : textList) { if (instr instanceof MipsLabel || instr instanceof MipsAnnotation) { sb.append(instr.toString()); continue; } sb.append("\t" + instr.toString()); } return sb.toString(); } }