package procesador;

public class NoTerminal implements ItemPila {

    private final String nombre;
    private final Atributos atributos;

    public NoTerminal(String nombre) {
        this.nombre = nombre;
        this.atributos = new Atributos();
    }

    public NoTerminal(String nombre, Atributos atributos) {
        this.nombre = nombre;
        this.atributos = atributos;
    }

    public String getNombre() {
        return nombre;
    }

    public Atributos getAtributos() {
        return atributos;
    }

    @Override
    public Tipo getTipo() {
        return Tipo.NOTERMINAL;
    }

    @Override
    public String debug() {
        return "NT(" + nombre + " " + atributos.toString() + ")";
    }

    @Override
    public String toString() {
        return "NT(" + nombre + ")";
    }

    @Override
    public ItemPila clone() {
        return new NoTerminal(
                this.nombre,
                this.atributos.clone()
        );
    }

}
