+All the other free CQL compilers everyone's going to write :-)
+
+
+THINGS TO DO
+------------
+
+* ### Fix bug where "9x" is parsed as two tokens, a TT_NUMBER followed
+ by a TT_WORD. The problem here is that I don't think it's actually
+ possible to fix this without throwing out StreakTokenizer and
+ rolling our own, which we absolutely _don't_ want to do.
+
+* Write javadoc comments for CQLRelation, ModifierSet and the
+ Exception classes.
+
+* Allow keywords to be used unquoted as search terms.
+
+* Some niceties for the cql-decompiling back-end:
+ * don't emit redundant parentheses.
+ * don't put spaces around relations that don't need them.
+
+* Write the PQN-generating back-end. This will need to be driven from
+ a configuation file specifying how to represent the qualifiers,
+ relations, relation modifiers and wildcard characters as z39.50
+ attributes. I think Ray has such a thing, though perhaps not yet in
+ a form sufficiently rigorous to be computer-readable.
+
+* Consider the utility of yet another back-end that translates a
+ CQLNode tree into a Type-1 query tree using the JZKit data
+ structures. That would be nice so that CQL could become a JZKit
+ query-type; but you could achieve the same effect by generating PQN,
+ and running that through JZKit's existing PQN-to-Type-1 compiler.
+
+* Many refinements to the random query generator:
+ * Generate relation modifiers
+ * Proximity support
+ * Don't always generate qualifier/relation for terms
+ * Better selection of qualifier (configurable?)
+ * Better selection of terms (from a dictionary file?)
+ * Introduce wildcard characters into generated terms
+ * Generate multi-word terms
+
+* Write fuller "javadoc" comments.