private Error processWordDirective(String str, String sourceLineNo) {
    Error err = new Error();
    str = MyLibrary.removeBeginningAndEndingSpace(str);
    Memory var10000;
    String[] A;
    int noOfWords;
    int i;
    if (str.indexOf(58) != -1) {
      A = str.split("[ ]*:[ ]*");
      if (A.length != 2) {
        err = new Error("Syntax Error @ line " + sourceLineNo, 1);
        return err;
      }

      if (!MyLibrary.isValidNumber(A[0]) || !MyLibrary.isValidNumber(A[0])) {
        err = new Error("Invalid Numaric Constant in Line : " + sourceLineNo, 1);
        return err;
      }

      noOfWords = MyLibrary.fromStringToInt(A[0]);
      i = MyLibrary.fromStringToInt(A[1]);
      if (i * 4 > Memory.currentStackAddress - Memory.currentDynamicDataAddress) {
        err = new Error("Segmentation Fault ! Unable To Allocate " + i + " Words !", 1);
        return err;
      }

      for (int i1 = 0; i1 < i; ++i1) {
        var10000 = this.Mem;
        Memory.addWordInDynamicMemory(noOfWords);
      }
    } else if (str.indexOf(44) != -1) {
      A = str.split("[ ]*,[ ]*");
      noOfWords = A.length;
      if (noOfWords * 4 > Memory.currentStackAddress - Memory.currentDynamicDataAddress) {
        err = new Error("Segmentation Fault ! Unable To Allocate " + noOfWords + " Words !", 1);
        return err;
      }

      for (i = 0; i < A.length; ++i) {
        if (!MyLibrary.isValidNumber(A[i])) {
          err = new Error("Invalid Numaric Constant in Line : " + sourceLineNo, 1);
          return err;
        }

        var10000 = this.Mem;
        Memory.addWordInDynamicMemory(MyLibrary.fromStringToInt(A[i]));
      }
    } else {
      if (!MyLibrary.isValidNumber(str)) {
        err = new Error("Invalid Numaric Constant in Line : " + sourceLineNo, 1);
        return err;
      }

      var10000 = this.Mem;
      Memory.addWordInDynamicMemory(MyLibrary.fromStringToInt(str));
    }

    return err;
  }