<?xml version="1.0" encoding="UTF-8"?>

<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->

<faqs id="FAQ" title="Frequently Asked Questions">
  <part id="General">
    <faq id="custom-sources">
      <question>How can I use custom sources for some of the generated parser files?</question>
      <answer>
        <p>
          If you have custom source files like a hand-crafted <code>Token.java</code> and want to use these files
          instead of the ones generated by JavaCC/JJTree/JTB, simply store your custom sources in the ordinary
          directory for Java sources, i.e. usually <code>src/main/java</code>. This will prevent the plugin from
          generating these files.
        </p>
        <p>
          For plugin versions prior to 2.5, you will need to put any custom source files directly next to the grammar
          file instead. The plugin will then copy your sources to the output directory of the generated parser file
          such that they eventually make it onto your class path. This approach is still supported by newer plugin
          versions but not recommended.
        </p>
      </answer>
    </faq>
  </part>
</faqs>
