home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / OS2 / NETREXX.ARJ / NETREXX.ZIP / NetRexx / qtime.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-08-03  |  4.3 KB  |  148 lines

  1. import java.util.Date;
  2. import netrexx.lang.NoOtherwiseException;
  3. import netrexx.lang.Rexx;
  4. import netrexx.lang.RexxIO;
  5. import netrexx.lang.RexxParse;
  6. import netrexx.lang.RexxSet;
  7.  
  8. public class qtime {
  9.    private static final char[] $$1 = new char[]{'\u0001', '\n', '\u0002', '\u0000', '\u0001', '\u0000'};
  10.    private static final Rexx $$4 = Rexx.toRexx("");
  11.    private static final char[] $$5 = new char[]{'\u0001', '\n', '\u0005', '\u0000', '\u0000', '\u0000', '\u0001', '\u0000', '\u0000'};
  12.    private static final char[] $$7 = new char[]{'\u0002', '\u0001', ':', '\n', '\u0001', '\u0000', '\u0002', '\u0001', ':', '\n', '\u0001', '\u0001', '\u0001', '\n', '\u0001', '\u0002', '\u0000'};
  13.    private static final Rexx $$9 = new Rexx(29);
  14.    private static final Rexx $$10 = new Rexx(1);
  15.    private static final Rexx $$11 = new Rexx(5);
  16.    private static final Rexx $$12 = new Rexx(32);
  17.    private static final Rexx $$13 = new Rexx(2);
  18.    private static final Rexx $$14 = new Rexx(12);
  19.    private static final Rexx $$15 = new Rexx(0);
  20.    private static final Rexx $$16 = new Rexx(60);
  21.    private static final Rexx $$17 = new Rexx(4);
  22.    private static final Rexx $$20 = new Rexx(10);
  23.    private static final Rexx $$21 = new Rexx(15);
  24.    private static final Rexx $$22 = new Rexx(20);
  25.    private static final Rexx $$23 = new Rexx(25);
  26.    private static final Rexx $$24 = new Rexx(30);
  27.    private static final Rexx $$25 = new Rexx(35);
  28.    private static final Rexx $$26 = new Rexx(40);
  29.    private static final Rexx $$27 = new Rexx(45);
  30.    private static final Rexx $$28 = new Rexx(50);
  31.    private static final Rexx $$29 = new Rexx(55);
  32.    // $FF: renamed from: $0 java.lang.String
  33.    private static final String field_0 = "qtime.nrx";
  34.  
  35.    public static void main(String[] var0) {
  36.       Object var1 = null;
  37.       Object var3 = null;
  38.       Object var4 = null;
  39.       Object var5 = null;
  40.       Object var6 = null;
  41.       Rexx var10 = new Rexx(var0);
  42.       Rexx[] var11 = new Rexx[2];
  43.       RexxParse.parse(var10, $$1, var11);
  44.       Rexx var14 = var11[0];
  45.       if (var14.OpEq((RexxSet)null, new Rexx('?'))) {
  46.          tell();
  47.       } else if (!var14.OpEq((RexxSet)null, $$4)) {
  48.          RexxIO.Say("The only valid argument to QTIME is \"?\".  The word");
  49.          RexxIO.Say(Rexx.toRexx("that you supplied (\"").OpCc((RexxSet)null, var14).OpCc((RexxSet)null, Rexx.toRexx("\") has been ignored.")));
  50.          tell();
  51.       }
  52.  
  53.       Rexx var2 = Rexx.toRexx("");
  54.       var2.getnode(new Rexx((byte)0)).leaf = Rexx.toRexx("");
  55.       var2.getnode(new Rexx((byte)1)).leaf = Rexx.toRexx(" just gone");
  56.       var2.getnode(new Rexx((byte)2)).leaf = Rexx.toRexx(" just after");
  57.       var2.getnode(new Rexx((byte)3)).leaf = Rexx.toRexx(" nearly");
  58.       var2.getnode(new Rexx((byte)4)).leaf = Rexx.toRexx(" almost");
  59.       Rexx[] var12 = new Rexx[2];
  60.       RexxParse.parse(new Rexx(String.valueOf(new Date())), $$5, var12);
  61.       Rexx var15 = var12[1];
  62.       Rexx[] var13 = new Rexx[3];
  63.       RexxParse.parse(var15, $$7, var13);
  64.       Rexx var16 = var13[0];
  65.       Rexx var17 = var13[1];
  66.       Rexx var20 = var13[2];
  67.       if (var20.OpGt((RexxSet)null, $$9)) {
  68.          var17 = var17.OpAdd((RexxSet)null, $$10);
  69.       }
  70.  
  71.       Rexx var7 = var17.OpRem((RexxSet)null, $$11);
  72.       Rexx var8 = Rexx.toRexx("It's").OpCc((RexxSet)null, var2.getnode(var7).leaf);
  73.       if (var17.OpGt((RexxSet)null, $$12)) {
  74.          var16 = var16.OpAdd((RexxSet)null, $$10);
  75.       }
  76.  
  77.       var17 = var17.OpAdd((RexxSet)null, $$13);
  78.       if ((new Rexx(var16.OpRem((RexxSet)null, $$14).OpEq((RexxSet)null, $$15))).OpAnd((RexxSet)null, new Rexx(var17.OpRem((RexxSet)null, $$16).OpLtEq((RexxSet)null, $$17)))) {
  79.          if (var16.OpEq((RexxSet)null, $$14)) {
  80.             RexxIO.Say(var8.OpCcblank((RexxSet)null, Rexx.toRexx("Noon.")));
  81.          } else {
  82.             RexxIO.Say(var8.OpCcblank((RexxSet)null, Rexx.toRexx("Midnight.")));
  83.          }
  84.  
  85.          System.exit(0);
  86.       } else {
  87.          var17 = var17.OpSub((RexxSet)null, var17.OpRem((RexxSet)null, $$11));
  88.          if (var16.OpGt((RexxSet)null, $$14)) {
  89.             var16 = var16.OpSub((RexxSet)null, $$14);
  90.          } else if (var16.OpEq((RexxSet)null, $$15)) {
  91.             var16 = new Rexx((byte)12);
  92.          }
  93.  
  94.          if (!var17.OpEq((RexxSet)null, $$15)) {
  95.             if (var17.OpEq((RexxSet)null, $$16)) {
  96.                var17 = new Rexx((byte)0);
  97.             } else if (var17.OpEq((RexxSet)null, $$11)) {
  98.                var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("five past"));
  99.             } else if (var17.OpEq((RexxSet)null, $$20)) {
  100.                var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("ten past"));
  101.             } else if (var17.OpEq((RexxSet)null, $$21)) {
  102.                var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("a quarter past"));
  103.             } else if (var17.OpEq((RexxSet)null, $$22)) {
  104.                var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("twenty past"));
  105.             } else if (var17.OpEq((RexxSet)null, $$23)) {
  106.                var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("twenty-five past"));
  107.             } else if (var17.OpEq((RexxSet)null, $$24)) {
  108.                var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("half past"));
  109.             } else if (var17.OpEq((RexxSet)null, $$25)) {
  110.                var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("twenty-five to"));
  111.             } else if (var17.OpEq((RexxSet)null, $$26)) {
  112.                var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("twenty to"));
  113.             } else if (var17.OpEq((RexxSet)null, $$27)) {
  114.                var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("a quarter to"));
  115.             } else if (var17.OpEq((RexxSet)null, $$28)) {
  116.                var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("ten to"));
  117.             } else {
  118.                if (!var17.OpEq((RexxSet)null, $$29)) {
  119.                   throw new NoOtherwiseException();
  120.                }
  121.  
  122.                var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("five to"));
  123.             }
  124.          }
  125.  
  126.          Rexx var9 = Rexx.toRexx("one two three four five six").OpCcblank((RexxSet)null, Rexx.toRexx("seven eight nine ten eleven twelve "));
  127.          var8 = var8.OpCcblank((RexxSet)null, var9.word(var16));
  128.          if (var17.OpEq((RexxSet)null, $$15)) {
  129.             var8 = var8.OpCcblank((RexxSet)null, Rexx.toRexx("o'clock"));
  130.          }
  131.  
  132.          RexxIO.Say(var8.OpCc((RexxSet)null, new Rexx('.')));
  133.          System.exit(0);
  134.       }
  135.    }
  136.  
  137.    public static void tell() {
  138.       RexxIO.Say("QTIME will display the current time in real English.");
  139.       RexxIO.Say("Call without any arguments to display the time, or with");
  140.       RexxIO.Say("\"?\" to display this information.");
  141.       RexxIO.Say("British English idioms are used in this program.");
  142.       RexxIO.Say("");
  143.    }
  144.  
  145.    private qtime() {
  146.    }
  147. }
  148.