Index: contrib/queryparser/build.xml
===================================================================
--- contrib/queryparser/build.xml	(revision 806445)
+++ contrib/queryparser/build.xml	(working copy)
@@ -35,6 +35,59 @@
     <invoke-javacc target="src/java/org/apache/lucene/queryParser/standard/parser/StandardSyntaxParser.jj"
                    outputDir="src/java/org/apache/lucene/queryParser/standard/parser"
     />
+  	    <replaceregexp file="src/java/org/apache/lucene/queryParser/standard/parser/ParseException.java"
+  	                         match="public class ParseException extends Exception"
+  	                         replace="public class ParseException extends QueryNodeParseException"
+  	                         flags="g"
+  	                         byline="false"/>
+  	    <replaceregexp file="src/java/org/apache/lucene/queryParser/standard/parser/ParseException.java"
+  	                         match="package org.apache.lucene.queryParser.standard.parser;"
+  	                         replace="package org.apache.lucene.queryParser.standard.parser;&#10;
+  	&#10;
+  	import org.apache.lucene.messages.Message;&#10;
+  	import org.apache.lucene.messages.MessageImpl;&#10;
+  	import org.apache.lucene.queryParser.core.*;&#10;
+  	import org.apache.lucene.queryParser.core.messages.*;"
+  	                         flags="g"
+  	                         byline="false"/>
+  	    <replaceregexp file="src/java/org/apache/lucene/queryParser/standard/parser/ParseException.java"
+  	                         match="^  public ParseException\(Token currentTokenVal.*$(\s\s[^}].*\n)*  \}"
+  	                         replace="  public ParseException(Token currentTokenVal,&#10;
+  	        int[][] expectedTokenSequencesVal, String[] tokenImageVal) {&#10;
+  	    super(new MessageImpl(QueryParserMessages.INVALID_SYNTAX, initialise(&#10;
+  	      currentTokenVal, expectedTokenSequencesVal, tokenImageVal)));&#10;
+  	    this.currentToken = currentTokenVal;&#10;
+  	    this.expectedTokenSequences = expectedTokenSequencesVal;&#10;
+  	    this.tokenImage = tokenImageVal;&#10;
+  	  }"
+  	                         flags="gm"
+  	                         byline="false"/>
+  	    <replaceregexp file="src/java/org/apache/lucene/queryParser/standard/parser/ParseException.java"
+  	                         match="^  public ParseException\(String message.*$(\s\s[^}].*\n)*  \}"
+  	                         replace="  public ParseException(Message message) {&#10;
+  	    super(message);&#10;                      
+  	  }"
+  	                         flags="gm"
+  	                         byline="false"/>
+  	    <replaceregexp file="src/java/org/apache/lucene/queryParser/standard/parser/ParseException.java"
+  	                         match="^  public ParseException\(\).*$(\s\s[^}].*\n)*  \}"
+  	                         replace="  public ParseException() {&#10;
+  	    super(new MessageImpl(QueryParserMessages.INVALID_SYNTAX, &quot;Error&quot;));&#10;
+  	  }"
+  	                         flags="gm"
+  	                         byline="false"/>
+  	    <replaceregexp file="src/java/org/apache/lucene/queryParser/standard/parser/ParseException.java"
+  	                         match="^  public String getMessage\(\).*$(\s\s\s\s[^}].*\n)*    \}"
+  	                         replace="  private static String initialise(Token currentToken, &#10;
+  	      int[][] expectedTokenSequences, String[] tokenImage) {&#10;
+  	    String eol = System.getProperty(&quot;line.separator&quot;, &quot;\n&quot;);"
+  	                         flags="gm"
+  	                         byline="false"/>
+  	    <replaceregexp file="src/java/org/apache/lucene/queryParser/standard/parser/ParseException.java"
+  	                         match="\s*protected String add_escapes.*"
+  	                         replace="  static private String add_escapes(String str) {"
+  	                         flags="g"
+  	                         byline="false"/>
   </target>
 
 </project>
Index: build.xml
===================================================================
--- build.xml	(revision 806437)
+++ build.xml	(working copy)
@@ -574,7 +574,7 @@
     </delete>
   </target>
 
-  <target name="javacc" depends="clean-javacc,javacc-QueryParser,javacc-HTMLParser"/>
+  <target name="javacc" depends="clean-javacc,javacc-QueryParser,javacc-HTMLParser,javacc-contrib-queryparser"/>
 
   <target name="javacc-QueryParser" depends="init,javacc-check" if="javacc.present">
     <invoke-javacc target="src/java/org/apache/lucene/queryParser/QueryParser.jj"
@@ -587,6 +587,13 @@
                    outputDir="src/demo/org/apache/lucene/demo/html"
     />
   </target>
+	
+  <target name="javacc-contrib-queryparser" depends="init,javacc-check" if="javacc.present">
+    <ant target="javacc"
+      dir="contrib/queryparser"
+      antfile="build.xml" 
+    />
+  </target>
   
   <!-- ================================================================== -->
   <!-- Build the JFlex files into the source tree                         -->
