home *** CD-ROM | disk | FTP | other *** search
- package netrexx.lang;
-
- public final class RexxWords {
- // $FF: renamed from: $0 java.lang.String
- private static final String field_0 = "RexxWords.nrx";
-
- public static boolean abbrev(char[] var0, char[] var1, int var2) {
- boolean var3 = false;
- if (var0.length < var2 | var1.length < var2) {
- return false;
- } else if (var1.length > var0.length) {
- return false;
- } else if (var1.length == 0 & var2 == 0) {
- return true;
- } else {
- int var4 = var1.length - 1;
-
- for(int var5 = 0; var5 <= var4; ++var5) {
- if (var0[var5] != var1[var5]) {
- return false;
- }
- }
-
- return true;
- }
- }
-
- public static char[] centre(char[] var0, int var1, char var2) {
- int var5 = 0;
- boolean var6 = false;
- int var3 = var0.length - var1;
- if (var3 == 0) {
- return var0;
- } else {
- char[] var4 = new char[var1];
- if (var3 > 0) {
- System.arraycopy(var0, var3 / 2, var4, 0, var1);
- } else {
- var5 = -var3 / 2;
- int var7 = var5 - 1;
-
- for(int var10 = 0; var10 <= var7; ++var10) {
- var4[var10] = var2;
- }
-
- System.arraycopy(var0, 0, var4, var5, var0.length);
- int var8 = var4.length - 1;
-
- for(int var11 = var5 + var0.length; var11 <= var8; ++var11) {
- var4[var11] = var2;
- }
- }
-
- return var4;
- }
- }
-
- public static char[] changestr(char[] var0, char[] var1, char[] var2) {
- int var8 = 0;
- boolean var9 = false;
- int var3 = countstr(var0, var1);
- int var4 = var1.length + var3 * (var2.length - var0.length);
- char[] var5 = new char[var4];
- int var6 = 0;
- int var7 = 0;
-
- for(int var10 = var3; var10 > 0; var6 = var8 + var0.length - 1) {
- --var10;
- var8 = pos(var0, var1, var6 + 1);
- int var11 = var8 - 2;
-
- for(int var14 = var6; var14 <= var11; ++var14) {
- var5[var7] = var1[var14];
- ++var7;
- }
-
- int var12 = var2.length - 1;
-
- for(int var15 = 0; var15 <= var12; ++var15) {
- var5[var7] = var2[var15];
- ++var7;
- }
- }
-
- int var17 = var1.length - 1;
-
- for(int var16 = var6; var16 <= var17; ++var16) {
- var5[var7] = var1[var16];
- ++var7;
- }
-
- return var5;
- }
-
- public static int compare(char[] var0, char[] var1, char var2) {
- boolean var4 = false;
- int var3 = var0.length;
- if (var1.length > var3) {
- var3 = var1.length;
- }
-
- int var5 = var3;
-
- for(int var6 = 1; var6 <= var5; ++var6) {
- if (var6 > var0.length) {
- if (var1[var6 - 1] != var2) {
- return var6;
- }
- } else if (var6 > var1.length) {
- if (var0[var6 - 1] != var2) {
- return var6;
- }
- } else if (var0[var6 - 1] != var1[var6 - 1]) {
- return var6;
- }
- }
-
- return 0;
- }
-
- public static int countstr(char[] var0, char[] var1) {
- int var2 = 0;
-
- for(int var3 = pos((char[])var0, (char[])var1, 1); var3 > 0; var3 = pos(var0, var1, var3 + var0.length)) {
- ++var2;
- }
-
- return var2;
- }
-
- public static char[] delstr(char[] var0, int var1, int var2) {
- if (var2 == 0) {
- return var0;
- } else if (var1 > var0.length) {
- return var0;
- } else {
- int var3 = var1 + var2;
- if (var3 > var0.length) {
- var3 = var0.length + 1;
- }
-
- int var4 = var1 + var0.length - var3;
- char[] var5 = new char[var4];
- if (var1 > 1) {
- System.arraycopy(var0, 0, var5, 0, var1 - 1);
- }
-
- if (var3 <= var0.length) {
- System.arraycopy(var0, var3 - 1, var5, var1 - 1, var0.length - var3 + 1);
- }
-
- return var5;
- }
- }
-
- public static char[] delword(char[] var0, int var1, int var2) {
- if (var2 == 0) {
- return var0;
- } else {
- int var3 = wordindex(var0, var1);
- if (var3 == 0) {
- return var0;
- } else {
- int var4 = wordindex(var0, var1 + var2);
- if (var4 == 0) {
- var4 = var0.length + 1;
- }
-
- int var5 = var3 + var0.length - var4;
- char[] var6 = new char[var5];
- if (var3 > 1) {
- System.arraycopy(var0, 0, var6, 0, var3 - 1);
- }
-
- if (var4 <= var0.length) {
- System.arraycopy(var0, var4 - 1, var6, var3 - 1, var0.length - var4 + 1);
- }
-
- return var6;
- }
- }
- }
-
- public static char[] insert(char[] var0, char[] var1, int var2, int var3, char var4) {
- boolean var7 = false;
- int var5 = var2 + var3;
- if (var2 < var0.length) {
- var5 = var5 + var0.length - var2;
- }
-
- char[] var6 = new char[var5];
- if (var2 > 0) {
- if (var2 <= var0.length) {
- System.arraycopy(var0, 0, var6, 0, var2);
- } else {
- System.arraycopy(var0, 0, var6, 0, var0.length);
- int var8 = var2 - 1;
-
- for(int var9 = var0.length; var9 <= var8; ++var9) {
- var6[var9] = var4;
- }
- }
- }
-
- if (var3 > 0) {
- if (var3 <= var1.length) {
- System.arraycopy(var1, 0, var6, var2, var3);
- } else {
- System.arraycopy(var1, 0, var6, var2, var1.length);
- int var11 = var3 - 1;
-
- for(int var10 = var1.length; var10 <= var11; ++var10) {
- var6[var2 + var10] = var4;
- }
- }
- }
-
- if (var2 < var0.length) {
- System.arraycopy(var0, var2, var6, var2 + var3, var0.length - var2);
- }
-
- return var6;
- }
-
- public static char[] overlay(char[] var0, char[] var1, int var2, int var3, char var4) {
- boolean var7 = false;
- int var5 = var2 + var3 - 1;
- if (var5 < var0.length) {
- var5 = var0.length;
- }
-
- char[] var6 = new char[var5];
- if (var2 > 1) {
- if (var2 - 1 <= var0.length) {
- System.arraycopy(var0, 0, var6, 0, var2 - 1);
- } else {
- System.arraycopy(var0, 0, var6, 0, var0.length);
- int var8 = var2 - 2;
-
- for(int var9 = var0.length; var9 <= var8; ++var9) {
- var6[var9] = var4;
- }
- }
- }
-
- if (var3 > 0) {
- if (var3 <= var1.length) {
- System.arraycopy(var1, 0, var6, var2 - 1, var3);
- } else {
- System.arraycopy(var1, 0, var6, var2 - 1, var1.length);
- int var11 = var3 - 1;
-
- for(int var10 = var1.length; var10 <= var11; ++var10) {
- var6[var2 - 1 + var10] = var4;
- }
- }
- }
-
- if (var2 + var3 - 1 < var0.length) {
- System.arraycopy(var0, var2 + var3 - 1, var6, var2 + var3 - 1, var0.length - (var2 + var3 - 1));
- }
-
- return var6;
- }
-
- public static final int nextblank(char[] var0, int var1) {
- boolean var2 = false;
- int var3 = var0.length;
-
- for(int var4 = var1; var4 <= var3; ++var4) {
- if (var0[var4 - 1] == ' ') {
- return var4;
- }
- }
-
- return 0;
- }
-
- public static final int nextnonblank(char[] var0, int var1) {
- boolean var2 = false;
- int var3 = var0.length;
-
- for(int var4 = var1; var4 <= var3; ++var4) {
- if (var0[var4 - 1] != ' ') {
- return var4;
- }
- }
-
- return 0;
- }
-
- public static int pos(char var0, String var1, int var2) {
- return pos(var0, var1.toCharArray(), var2);
- }
-
- public static int pos(char var0, char[] var1, int var2) {
- boolean var3 = false;
- int var4 = var1.length - 1;
-
- for(int var5 = var2 - 1; var5 <= var4; ++var5) {
- if (var1[var5] == var0) {
- return var5 + 1;
- }
- }
-
- return 0;
- }
-
- public static int pos(String var0, String var1, int var2) {
- return pos(var0.toCharArray(), var1.toCharArray(), var2);
- }
-
- public static int pos(char[] var0, char[] var1, int var2) {
- boolean var3 = false;
- boolean var4 = false;
- if (var0.length == 0) {
- return 0;
- } else {
- int var5 = var1.length - var0.length + 1;
-
- label28:
- for(int var7 = var2; var7 <= var5; ++var7) {
- int var6 = var0.length - 1;
-
- for(int var8 = 0; var8 <= var6; ++var8) {
- if (var0[var8] != var1[var7 + var8 - 1]) {
- continue label28;
- }
- }
-
- return var7;
- }
-
- return 0;
- }
- }
-
- public static char[] space(char[] var0, int var1, char var2) {
- int var6 = 0;
- boolean var10 = false;
- int var3 = 1;
- int var4 = 0;
- int var5 = 0;
-
- while(true) {
- var3 = nextnonblank(var0, var3);
- if (var3 == 0) {
- break;
- }
-
- ++var4;
- var6 = nextblank(var0, var3 + 1);
- if (var6 == 0) {
- var5 = var5 + var0.length + 1 - var3;
- break;
- }
-
- var5 = var5 + var6 - var3;
- var3 = var6;
- }
-
- if (var4 == 0) {
- return new char[0];
- } else {
- int var7 = (var4 - 1) * var1 + var5;
- char[] var8 = new char[var7];
- var3 = 1;
- int var9 = 0;
- int var11 = var4;
-
- for(int var16 = 1; var16 <= var11; ++var16) {
- var3 = nextnonblank(var0, var3);
- if (var3 == 0) {
- break;
- }
-
- do {
- var8[var9] = var0[var3 - 1];
- ++var3;
- if (var3 > var0.length) {
- return var8;
- }
-
- ++var9;
- } while(var0[var3 - 1] != ' ');
-
- if (var16 == var4) {
- break;
- }
-
- for(int var12 = var1; var12 > 0; ++var9) {
- --var12;
- var8[var9] = var2;
- }
- }
-
- return var8;
- }
- }
-
- public static char[] subword(char[] var0, int var1, int var2) {
- if (var2 == 0) {
- return new char[0];
- } else {
- int var3 = wordindex(var0, var1);
- if (var3 == 0) {
- return new char[0];
- } else {
- int var4 = wordindex(var0, var1 + var2);
- if (var4 == 0) {
- var4 = var0.length + 1;
- }
-
- int var7 = var3;
- --var4;
-
- while(var4 >= var7 && var0[var4 - 1] == ' ') {
- --var4;
- }
-
- int var5 = var4 - var3 + 1;
- char[] var6 = new char[var5];
- System.arraycopy(var0, var3 - 1, var6, 0, var5);
- return var6;
- }
- }
- }
-
- public static int verify(char[] var0, char[] var1, char var2, int var3) {
- return var2 == 'N' ? verifyn(var0, var1, var3) : verifym(var0, var1, var3);
- }
-
- public static int verifym(char[] var0, char[] var1, int var2) {
- boolean var4 = false;
- char var5 = '\u0000';
- int var6 = 0;
- int var3 = var0.length;
- if (var2 > var3) {
- return 0;
- } else if (var1.length == 0) {
- return 0;
- } else {
- int var7 = var3;
-
- for(int var8 = var2; var8 <= var7; ++var8) {
- var5 = var0[var8 - 1];
- if (var5 == var1[0]) {
- return var8;
- }
-
- var6 = pos(var5, (char[])var1, 2);
- if (var6 > 0) {
- return var8;
- }
- }
-
- return 0;
- }
- }
-
- public static int verifyn(char[] var0, char[] var1, int var2) {
- boolean var4 = false;
- int var5 = 0;
- int var3 = var0.length;
- if (var2 > var3) {
- return 0;
- } else if (var1.length == 0) {
- return var2;
- } else {
- int var6 = var3;
-
- for(int var7 = var2; var7 <= var6; ++var7) {
- var5 = pos(var0[var7 - 1], (char[])var1, 1);
- if (var5 == 0) {
- return var7;
- }
- }
-
- return 0;
- }
- }
-
- public static char[] word(char[] var0, int var1) {
- return subword(var0, var1, 1);
- }
-
- public static int wordindex(char[] var0, int var1) {
- int var3 = 0;
- int var2 = 1;
- var3 = 1;
-
- while(true) {
- var2 = nextnonblank(var0, var2);
- if (var2 == 0) {
- return 0;
- }
-
- if (var3 == var1) {
- return var2;
- }
-
- var2 = nextblank(var0, var2 + 1);
- if (var2 == 0) {
- return 0;
- }
-
- ++var3;
- }
- }
-
- public static int wordlength(char[] var0, int var1) {
- int var2 = wordindex(var0, var1);
- if (var2 == 0) {
- return 0;
- } else {
- int var3 = nextblank(var0, var2 + 1);
- if (var3 == 0) {
- var3 = var0.length + 1;
- }
-
- return var3 - var2;
- }
- }
-
- public static int wordpos(char[] var0, char[] var1, int var2) {
- int var7 = 0;
- int var8 = 0;
- int var9 = 0;
- int var10 = 0;
- int var11 = 0;
- int var12 = 0;
- int var3 = var0.length;
- if (var3 == 0) {
- return 0;
- } else {
- int var4 = nextnonblank(var0, 1);
- if (var4 == 0) {
- return 0;
- } else {
- int var5 = wordindex(var1, var2);
- if (var5 == 0) {
- return 0;
- } else {
- int var6 = var1.length;
-
- while(true) {
- var7 = var4;
- var8 = var5;
-
- label64:
- while(true) {
- var9 = nextblank(var0, var7 + 1);
- if (var9 == 0) {
- var9 = var3 + 1;
- }
-
- var10 = nextblank(var1, var8 + 1);
- if (var10 == 0) {
- var10 = var6 + 1;
- }
-
- if (var10 - var8 == var9 - var7) {
- var11 = var8 - 1;
- int var13 = var9 - 2;
- var12 = var7 - 1;
-
- while(true) {
- if (var12 > var13) {
- if (var9 > var3) {
- return var2;
- }
-
- var7 = nextnonblank(var0, var9);
- if (var7 == 0) {
- return var2;
- }
-
- if (var10 <= var6) {
- var8 = nextnonblank(var1, var10);
- if (var8 != 0) {
- continue label64;
- }
- }
- break;
- }
-
- if (var0[var12] != var1[var11]) {
- break;
- }
-
- ++var11;
- ++var12;
- }
- }
-
- ++var2;
- var5 = nextblank(var1, var5 + 1);
- if (var5 != 0) {
- var5 = nextnonblank(var1, var5 + 1);
- if (var5 != 0) {
- break;
- }
- }
-
- return 0;
- }
- }
- }
- }
- }
- }
-
- public static int words(char[] var0) {
- int var1 = 1;
- int var2 = 0;
-
- do {
- var1 = nextnonblank(var0, var1);
- if (var1 == 0) {
- break;
- }
-
- ++var2;
- var1 = nextblank(var0, var1 + 1);
- } while(var1 != 0);
-
- return var2;
- }
-
- private RexxWords() {
- }
- }
-