package rpn.vc;

import java.io.*;
import rpn.*;
import rpn.basic.*;
import rpn.doubles.*;

public class vc implements SimpleToken {
	public static void main(String arg[]) {
		Input in = new StreamInput(System.in);
		
		if (arg.length > 0) {
			try {
				FileInputStream fin = new FileInputStream(arg[0]);
				in = new StreamInput(fin);
			} catch (Exception e) { ; }
		} 
		Calculator ca = new Calculator();
		ItemInput icin = new ItemInput(new VCInterpreter(), ca, in);
		ca.setItemStream(icin);
		VCInstaller vci = new VCInstaller();
		vci.install(ca);
		Item it = ca.getItem();
		while (it != null) {
			// System.out.println("it = " + it);
			// System.out.println("pd = " + ca.procDepth);
			// System.out.println("stack = " + ca.toString());
			// System.out.println("=================");
			if (ca.procDepth == 0) {
				it.exec();
				// System.out.println("- exec ------");
			} else {
				it.store();
				// System.out.println("# store #####");
			}
			it = ca.getItem();
		}
	}
}