package rpn.basic;

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

public class RightItem extends Item {

	public RightItem(Calculator ca) {
		super(ca);
		ca.systemInstall(this);
	}
	
	public void exec() {
		int n = ca.size();
		int i;
		for (i=n;i>0;i--) {
			Item it = (Item) ca.item(i-1);
			if (it instanceof LeftItem) {
				break;
			}

		} 
		if (i > 0) {
			Item a[] = new Item[n-i];
			for (int j=n;j>i;j--) {
				a[j-i-1] = (Item) ca.pop();
			}
			ca.pop();
			Item it = new GenericArrayItem(ca, a);
			ca.push(it);
		}
		else {
			ca.error(this, CalcErr.UnmatchedRight);
		}
	}
	
	public String toString() {
		return("]");
	}
}