public static void lzw(String[] text) { @CodeLabel("header")
  String w, k, result; @CodeLabel("declare")
  int cnt = 256; @CodeLabel("cnt=256")
  Hashtable<String, Integer> dict = new Hashtable<String, Integer>(); @CodeLabel("hashtable")
  for (int i = 0; i < 256;i++) { @CodeLabel("for-init")
     dict.put(String.valueOf((char)i), i); @CodeLabel("initHT")
  } @CodeLabel("end-for-init")
  for (int i = 0; i < text.length; i++) { @CodeLabel("for-i")
    k = text[i]; @CodeLabel("set-k")
    if (dict.containsKey(w + k)) @CodeLabel("contains?")
      w = w + k; @CodeLabel("w+k")
    else { @CodeLabel("else")
      result += dict.get(w); @CodeLabel("result")
      dict.put(w + k, cnt); @CodeLabel("dict.put")
      cnt++; @CodeLabel("cnt++")
      w = k; @CodeLabel("w=k")
    } @CodeLabel("end-else")
  } @CodeLabel("end-for-i")
} @CodeLabel("end")