arrayid.java

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

JAVA
47
字号
package cmm.cmmcc;

/**
 * 数组标示符类,继承标示符类
 * @author Huang Xuanxing
 *
 */
public class ArrayId extends Id {
	private int[] dimensions = null; // 数组各维长度
	private String[] items = null; // 数组各项值
	
	public ArrayId(String inId) {
		super(inId);
	}
	
	public void setDimensions(int[] inDim) {
		dimensions = inDim;
	}

	private void setItems(String[] inItems) {
		items = inItems;
	}
	
	/**
	 * 计算数组项地址偏移量
	 * @param location
	 * @return
	 */
	public int getOffset(int[] location) {
		// 检查各维是否越界,产生异常
		//
		return -1;
	}
	
	public void evaluate() {
		setItems(null);
	}
	
	/**
	 * 数组赋值
	 * @param inItems
	 */
	public void evaluate(String[] inItems) {
		setItems(inItems);
	}
}

⌨️ 快捷键说明

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