Thanks, Mike! Anyway to get a type-1 query out of it?
Ralph
> -----Original Message-----
> From: Mike Taylor [mailto:[log in to unmask]]
> Sent: Sunday, November 03, 2002 3:03 PM
> To: [log in to unmask]
> Subject: cql-java 0.1 released!
>
>
> Dear ZINGers,
>
> I'm pleased to announce the initial release of "cql-java", a suite of
> Free-as-in-freedom tools for handling CQL queries in Java. It
> provides a whole bunch of classes within the org.z3950.zing.cql
> package, including:
>
> * CQLNode and subclasses which together represent parse trees
> * CQLCompiler which is what it says, and returns a parse tree
> * A back-end that renders a parse-tree as XCQL
> * Another back-end that renders back into CQL (i.e. a decompiler)
> * CQLGenerator, which generates random CQL parse trees.
>
> (This latter is useful for testing: for example, running a sequence of
> 1000 random "CQLgenerate | CQLParse"s has told me, among other things,
> that the software correctly parses:
>
> (((("foo>bar" = "<xml.element>") and ((((("foo>bar" =
> "the complete dinosaur") not (dc.author = "<xml.element>"))
> and ((("foo>bar" >= "frog fish") not (dc.subject any
> "frog fish")) or ("foo>bar" all xml:element))) or (dc.title >=
> "<xml.element>")) and (bath.subject = comp.os.linux))) not
> (((bath.subject = "frog fish") not (bath.subject >= "")) and
> (dc.subject = "frog fish"))) not (dc.author <> xml:element))
> not (((((((((dc.subject = comp.os.linux) and (dc.author =
> "frog fish")) not ((bath.author = comp.os.linux) and
> (bath.title <> "<xml.element>"))) not (bath.subject =
> "frog fish")) or ((((bath.author = "<xml.element>") or
> (bath.author = "frog fish")) or (bath.subject = xml:element))
> and (dc.subject <> foo*bar))) not (dc.author <>
> "<xml.element>")) and (bath.title any
> "the complete dinosaur")) not (dc.title = comp.os.linux)) or
> (bath.subject = comp.os.linux))
>
> ... and you never know when that's going to come in useful :-)
>
> The distribution also includes a rudimentary test-suite, intended not
> only for this compiler, but for comparing the behaviour of any set of
> CQL compilers. (Mine and Adam's seem to be pretty much in agreement
> on most things, except that his parses and then discards proximity
> parameters, not yet generating any XCQL for them. But mine has much
> better diagnostics :-)
>
> The software's home is at
> http://zing.z3950.org/cql/java/
> where you can download version 0.1, or read the README file or
> javadoc'd API documentation on-line.
>
> I consider this release to be "alpha" quality -- that is, it's petty
> much complete, tested and believed to be working (apart from one
> rather subtle bug which is Hard to fix), but you'd not necessarily be
> advised to use it in mission-critical applications yet.
>
> Where it's no doubt weak is in the area of portability. So far, it's
> only ever been built and run under what I use, which is Sun's JDK 1.3
> with IBM's Jikes compiler. Please try it on other platforms -- both
> running against the supplied jar-file, and compiling the source -- and
> let me know what I need in the way of portability tweaks.
>
> Thanks are due to everyone who's contributed to the development of the
> CQL spec., and particularly to Adam and Rob, whose trailblazing
> efforts with their own CQL compilers has prodded me into action where
> inertia might otherwise have reigned.
>
> That's it -- download, unpack, play, and send me feedback! I'd like
> to get this up to "1.0" level, releasably to the wider world, as soon
> as possible.
>
> _/|_
> _______________________________________________________________
> /o ) \/ Mike Taylor <[log in to unmask]>
> www.miketaylor.org.uk
> )_v__/\ "If any of the opposing players dance about or gesticulate
> [...] it shall be deemed ungentlemanly conduct" -- FIFA law
> 15, FA board decision 3.
>
|