codemass.java

来自「编译器中的词法分析」· Java 代码 · 共 51 行

JAVA
51
字号
package cmm.collections;

import cmm.cmmcc.Code;
import java.util.*;

/**
 * 目标代码区类
 * @author Huang Xuanxing
 *
 */
public class CodeMass {
	private ArrayList codeMass; // 目标代码区
	
	public CodeMass() {
		codeMass = new ArrayList();
	}
	
	public void append(Code code) {
		code.address = codeMass.size() - 1;
		code.setNext();
		// 执行回填地址,向前填地址
		//
		codeMass.add(code);
	}
	
	/**
	 * 回填地址
	 *
	 */
	private void backPatch() {
		//
	}
	
	/**
	 * 向前填地址
	 *
	 */
	private void aheadPatch() {
		//
	}
	
	public Code nextCode(int currAdd) {
		Code code = (Code)codeMass.get(currAdd);
		return (Code)codeMass.get(code.next);
	}
	
	public Code nextCode(Code code) {
		return (Code)codeMass.get(code.next);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?