编译原理——变量声明语句(九)

原创 2012年03月30日 22:22:34

标识符表。

代码:

IdTable.java

package per.eyuan.util;

public class IdTable {
	Id table[]=new Id[20];//标识符表,存放Id对象实例
	int count=0;//id表中含有的Id实例个数
	
	public IdTable() {
		super();
		init();
	}
	public void init(){
		for(int i=0;i<table.length;i++)
			table[i]=new Id();
	}
	
	public int getCount(){
		return count;
	}
	public Id getId(int index){//获取Id表中指定索引的Id实例
		return table[index];
	}
	
//	public void setId(int index,String name){//为指定索引的Id实例赋值
//		
//	}
	public void addId(String na){//增加Id(仅增加name)
		table[count].name=na;
		table[count].index=count;
		count++;
	}
	public void addType(int index,String type){
		//修改(添加)指定索引的Id实例的name属性
		table[index].type=type;
	}
	public Id[] getAllId(){//获取所有的(有效)Id
		Id aid[]=new Id[count];
		for(int i=0;i<count;i++)
			aid[i]=table[i];
		return aid;
	}

}

 

相关文章推荐

编译原理——变量声明语句(六)

GoTo表。 代码: GoTo.java package per.eyuan.util; public class GoTo { /* * SLR的goto表 * 接受传递...

编译原理——变量声明语句(四)

语法分析。 代码: Syntax.java package per.eyuan.compile; import per.eyuan.util.Action; import per.eyu...

编译原理——变量声明语句(十)

常数表。 代码: Constant.java package per.eyuan.util; //常数表 public class Constant { String key="num"...

编译原理——变量声明语句(一)

代码: Compile.java: package per.eyuan.compile; import per.eyuan.util.Id; import per.eyuan.util.I...

编译原理——变量声明语句(三)

词法分析: 代码: Lexical.java: package per.eyuan.compile; import per.eyuan.util.*; public class Le...

编译原理——变量声明语句(七)

Action动作表。 代码: Action.java package per.eyuan.util; public class Action { /* * SLR的action表...

【PLSQL】变量声明,结构语句,cursor游标

显式cursor的属性: %isopen, 布尔类型, %notfound,布尔类型,如果前一个fetch语句没有返回一行记录,其值为true; ...

Python实现的用于从布局文件的id生成成员变量声明和findViewById语句的Android开发小工具

Python做的一个Android开发的小工具

C++ Primer学习笔记——变量声明和定义

C++ primer学习笔记
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编译原理——变量声明语句(九)
举报原因:
原因补充:

(最多只允许输入30个字)