private int parse(char[] data, int i, int z) {
		System.out.println();
		System.out.println(" Sub: ");
		for (; i < z; i++) {
			switch (data[i]) {
			case '{':
				i = parse(data, i + 1, z);
				System.out.println();
				break;
			case '}':
				return i;
			case '\\':
				i++;
				int j;
				for (j = i + 1; j < z; j++)
					if (!Character.isLetter(data[j]))
						break;
				String fn = new String(data, i, j - i);
				i = j;
				for (j = i; j < z; j++)
					if (!Character.isDigit(data[j]))
						break;
				String parms = new String(data, i, j - i);
				i = j - 1;

				System.out.print(" [" + fn + ":" + parms + "] ");
				break;
			default:
				System.out.print("  '" + data[i] + "'  ");
			}
		}
		return i;
	}