// ** This class was generated with DemFGen (vers:09/27/2009)

package gen;

import edu.neu.ccs.demeterf.lib.*;




/** Representation of MathOp */
public abstract class MathOp extends Op{

    /** Construct a(n) MathOp Instance */
    public MathOp(){
    }
    /** Parse an instance of MathOp from the given String */
    public static MathOp parse(String inpt) throws ParseException{
        return new TheParser(new java.io.StringReader(inpt)).parse_MathOp();
    }
    /** Parse an instance of MathOp from the given Stream */
    public static MathOp parse(java.io.InputStream inpt) throws ParseException{
        return new TheParser(inpt).parse_MathOp();
    }
    /** Parse an instance of MathOp from the given Reader */
    public static MathOp parse(java.io.Reader inpt) throws ParseException{
        return new TheParser(inpt).parse_MathOp();
    }


  int op(int l, int r){ throw new RuntimeException("NYI Opcode"); }
  ExecStack eval(ExecStack s){
    int r = op(s.top(), s.popRes().top());
    return s.popRes().popRes().pushRes(r);
  }

    /** DGP method from Class Print */
    public String print(){ return gen.Print.PrintM(this); }

}