@Override
  public List<MLCommand> getML() {
    if (!simpE) {
      List<MLCommand> res = new ArrayList<>();
      if (!e.simpleExpression()) {
        res.addAll(e.getML());
      }
      res.add(new StackPushML(Memory.Stack, e.expr()));
      if (!e2.simpleExpression()) {
        res.addAll(e2.getML());
      }
      res.add(new StackPushML(Memory.Stack, e2.expr()));
      res.add(new StackPopML(Memory.Stack));
      res.add(new PersonAsignmentML(Memory.REG1, new PersonMLExpression(Memory.Stack)));
      res.add(new StackPopML(Memory.Stack));
      res.add(
          new PersonAsignmentML(
              Memory.REG1,
              new AdditionMLExpression(
                  new PersonMLExpression(Memory.REG1), new PersonMLExpression(Memory.Stack))));

      return res;
    }
    return null;
  }
 @Override
 public MLExpression expr() {
   if (simpE) {
     return new AdditionMLExpression(e.expr(), e2.expr());
   } else {
     return new PersonMLExpression(Memory.REG1);
   }
 }