1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
/** A symbol that can hold a run-time value
* (has a type associated with it too).
*
* In essence, this is anything in the global VAR section or is a parameter or
* a local variable. Subclass Constant extends to include anything in CONST
* section also. Subclass Field extends to include anything in a RECORD.
*/
import java.io.*;
public class Variable extends Symbol implements Serializable {
protected TypeSpecifier type;
public Variable() {
}
public Variable(String name) {
super(name);
}
public Variable(String name, TypeSpecifier type) {
super(name);
setType(type);
}
public TypeSpecifier getType() {
return type;
}
public void setType(TypeSpecifier type) {
this.type = type;
}
public String toString() {
return getClass().getName()+"<"+getName()+","+type+">";
}
}
|