package rpn.basic;

import java.util.Hashtable;
import rpn.Calculator;

public class DivItem extends Item {
	
	public DivItem(Calculator ca) {
		super(ca);
		ca.systemInstall(this);
	}
	
	public void exec() {
		if (ca.check(2)) {
			Item a = ca.peek(1);
			Item b = ca.peek(0);
			if (a instanceof IntItem && b instanceof IntItem) {
				int B = ((IntItem) b).n;
				if (B != 0) {
					int A = ((IntItem) a).n;
					// integer division
					Item c = new IntItem(ca, A/B);
					ca.pop(2);
					ca.push(c);
				} else {
					ca.error(this, CalcErr.ZeroDiv);
				}
			} else {
				ca.error(this, CalcErr.Type);
			}
		} else {
			ca.error(this, CalcErr.Underflow);
		}
	}
	
	public String toString() {
		return("/");
	}
}