QuiltParser: JavaCC Grammar for Quilt XML Query Language

 Version: 0.9.1 (c) 2000

Last modified: Mon Oct 16 11:27:08 PDT 2000

Accessed times since 08/17/2000

Henry Chiu <hychiu@ucla.edu> & Dongwon Lee <dongwon@cs.ucla.edu>

(Report bugs/comments to us.)


The codes for XSLT and XPath are originally from Ingo Macherius & Gerald Huck {macherius,huck}@gmd.de. Their codes can be downloaded from JavaCC Grammar Repository.


QuiltParser is a parser for the Quilt XML query language written with JavaCC as a part of XPRESS project at UCLA / CSD.

This small, implementable language has been recently proposed by Robie, Chamberlin, and Florescu; it integrates the advantages of various languages while meeting the W3C's XML Query Requirements. More information on Quilt may be found at http://www.almaden.ibm.com/cs/people/chamberlin/quilt.html. The current implementation is based on the BNF and test examples from this paper (presented at XML Europe, Paris, June 2000)


The Java Comiler Compiler (JavaCC) is a popular generator for use with Java applications. It was originally written by engineers at Sun and now being maintained by Metamata as a public software. JavaCC is the most popular compiler generation tool for Java. More information and distribution of JavaCC (latest version 1.1) may be found at http://www.metamata.com/JavaCC/


The Quilt grammar file (JJ file) is here QuiltParser.jj. If you are not interested in JavaCC grammar file and just want to download the parser codes in java, get this tar ball and untar it:

      tar xvf QuiltParser.tar

A collection of working queries from the Quilt paper may be found here queries. Look at the known bug list below.

    Known Users

If you use QuiltParser in your project and like to be included in our list of the known users, please let us know.


After installing JavaCC, run javacc on the JJ file to generate Java files that implement the parser and lexical analyzer:

      javacc QuiltParser.jj

This will generate several java files. Compile those using your favorite java compiler. Finally, simply invoke the Java interpreter

      java QuiltParser [-debug] [query]

The -debug option will give a trace of calls. The query is a text file of the Quilt query.  Without a file, the input is standard input.

QuiltParser will either output a message that says:

    Known Bugs/Problems
    Change Log