public abstract class Exp { } public class PlusExp extends Exp { public Exp e1, e2; public PlusExp(Exp a1, Exp a2) { e1=a1; e2=a2; } } public class MinusExp extends Exp { public Exp e1, e2; public MinusExp(Exp a1, Exp a2) { e1=a1; e2=a2; } } public class TimesExp extends Exp { public Exp e1, e2; public TimesExp(Exp a1, Exp a2) { e1=a1; e2=a2; } } public class DivideExp extends Exp { public Exp e1, e2; public DivideExp(Exp a1, Exp a2) { e1=a1; e2=a2; } } public class IntegerLiteral extends Exp { public String f0; public IntegerLiteral(String n0) { f0 = n0; } } public class Main { public static void main(String args[]) { Exp e1 = new TimesExp(new IntegerLiteral("2"), new IntegerLiteral("1")); } }