Files
MY_COMPILER/backend/mips/MipsModule.java
2025-12-12 20:14:00 +08:00

52 lines
1.3 KiB
Java

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<MipsInstr> dataList;
private ArrayList<MipsInstr> textList;
public MipsModule() {
this.dataList = new ArrayList<MipsInstr>();
this.textList = new ArrayList<MipsInstr>();
}
public ArrayList<MipsInstr> getDataList() {
return dataList;
}
public ArrayList<MipsInstr> 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();
}
}