package Temp;
import Symbol.Symbol;
/**
* A Label represents an address in assembly language.
*/
public class Label {
private String name;
private static int count;
/**
* a printable representation of the label, for use in assembly
* language output.
*/
public String toString() {return name;}
/**
* Makes a new label that prints as "name".
* Warning: avoid repeated calls to new Label(s) with
* the same name s.
*/
public Label(String n) {
name=n;
}
/**
* Makes a new label with an arbitrary name.
*/
public Label() {
this("L" + count++);
}
/**
* Makes a new label whose name is the same as a symbol.
*/
public Label(Symbol s) {
this(s.toString());
}
}