<!-- Generated with Stardoc: http://skydoc.bazel.build -->

<a name="#antlr"></a>

## antlr

<pre>
antlr(<a href="#antlr-name">name</a>, <a href="#antlr-Xconversiontimeout">Xconversiontimeout</a>, <a href="#antlr-Xdbgconversion">Xdbgconversion</a>, <a href="#antlr-Xdbgst">Xdbgst</a>, <a href="#antlr-Xdfa">Xdfa</a>, <a href="#antlr-Xdfaverbose">Xdfaverbose</a>, <a href="#antlr-Xgrtree">Xgrtree</a>, <a href="#antlr-Xm">Xm</a>,
      <a href="#antlr-Xmaxdfaedges">Xmaxdfaedges</a>, <a href="#antlr-Xmaxinlinedfastates">Xmaxinlinedfastates</a>, <a href="#antlr-Xminswitchalts">Xminswitchalts</a>, <a href="#antlr-Xmultithreaded">Xmultithreaded</a>, <a href="#antlr-Xnfastates">Xnfastates</a>, <a href="#antlr-Xnocollapse">Xnocollapse</a>,
      <a href="#antlr-Xnomergestopstates">Xnomergestopstates</a>, <a href="#antlr-Xnoprune">Xnoprune</a>, <a href="#antlr-XsaveLexer">XsaveLexer</a>, <a href="#antlr-Xwatchconversion">Xwatchconversion</a>, <a href="#antlr-debug">debug</a>, <a href="#antlr-depend">depend</a>, <a href="#antlr-deps">deps</a>, <a href="#antlr-dfa">dfa</a>, <a href="#antlr-dump">dump</a>,
      <a href="#antlr-imports">imports</a>, <a href="#antlr-language">language</a>, <a href="#antlr-message_format">message_format</a>, <a href="#antlr-nfa">nfa</a>, <a href="#antlr-package">package</a>, <a href="#antlr-profile">profile</a>, <a href="#antlr-report">report</a>, <a href="#antlr-srcs">srcs</a>, <a href="#antlr-trace">trace</a>)
</pre>

Runs [ANTLR 3](https://www.antlr3.org//) on a set of grammars.

### Attributes

<table class="params-table">
  <colgroup>
    <col class="col-param" />
    <col class="col-description" />
  </colgroup>
  <tbody>
    <tr id="antlr-name">
      <td><code>name</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels#target-names">Name</a>; required
        <p>
          A unique name for this target.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xconversiontimeout">
      <td><code>Xconversiontimeout</code></td>
      <td>
        Integer; optional
        <p>
          Set NFA conversion timeout for each decision.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xdbgconversion">
      <td><code>Xdbgconversion</code></td>
      <td>
        Boolean; optional
        <p>
          Dump lots of info during NFA conversion.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xdbgst">
      <td><code>Xdbgst</code></td>
      <td>
        Boolean; optional
        <p>
          Put tags at start/stop of all templates in output.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xdfa">
      <td><code>Xdfa</code></td>
      <td>
        Boolean; optional
        <p>
          Print DFA as text.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xdfaverbose">
      <td><code>Xdfaverbose</code></td>
      <td>
        Boolean; optional
        <p>
          Generate DFA states in DOT with NFA configs.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xgrtree">
      <td><code>Xgrtree</code></td>
      <td>
        Boolean; optional
        <p>
          Print the grammar AST.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xm">
      <td><code>Xm</code></td>
      <td>
        Integer; optional
        <p>
          Max number of rule invocations during conversion.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xmaxdfaedges">
      <td><code>Xmaxdfaedges</code></td>
      <td>
        Integer; optional
        <p>
          Max &quot;comfortable&quot; number of edges for single DFA state.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xmaxinlinedfastates">
      <td><code>Xmaxinlinedfastates</code></td>
      <td>
        Integer; optional
        <p>
          Max DFA states before table used rather than inlining.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xminswitchalts">
      <td><code>Xminswitchalts</code></td>
      <td>
        Integer; optional
        <p>
          Don't generate switch() statements for dfas smaller than given number.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xmultithreaded">
      <td><code>Xmultithreaded</code></td>
      <td>
        Boolean; optional
        <p>
          Run the analysis in 2 threads.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xnfastates">
      <td><code>Xnfastates</code></td>
      <td>
        Boolean; optional
        <p>
          For nondeterminisms, list NFA states for each path.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xnocollapse">
      <td><code>Xnocollapse</code></td>
      <td>
        Boolean; optional
        <p>
          Collapse incident edges into DFA states.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xnomergestopstates">
      <td><code>Xnomergestopstates</code></td>
      <td>
        Boolean; optional
        <p>
          Max DFA states before table used rather than inlining.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xnoprune">
      <td><code>Xnoprune</code></td>
      <td>
        Boolean; optional
        <p>
          Do not test EBNF block exit branches.
        </p>
      </td>
    </tr>
    <tr id="antlr-XsaveLexer">
      <td><code>XsaveLexer</code></td>
      <td>
        Boolean; optional
        <p>
          For nondeterminisms, list NFA states for each path.
        </p>
      </td>
    </tr>
    <tr id="antlr-Xwatchconversion">
      <td><code>Xwatchconversion</code></td>
      <td>
        Boolean; optional
        <p>
          Don't delete temporary lexers generated from combined grammars.
        </p>
      </td>
    </tr>
    <tr id="antlr-debug">
      <td><code>debug</code></td>
      <td>
        Boolean; optional
        <p>
          Generate a parser that emits debugging events.
        </p>
      </td>
    </tr>
    <tr id="antlr-depend">
      <td><code>depend</code></td>
      <td>
        Boolean; optional
        <p>
          Generate file dependencies; don't actually run antlr.
        </p>
      </td>
    </tr>
    <tr id="antlr-deps">
      <td><code>deps</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels">List of labels</a>; optional
        <p>
          The dependencies to use. Defaults to the most recent ANTLR 3 release,
but if you need to use a different version, you can specify the
dependencies here.
        </p>
      </td>
    </tr>
    <tr id="antlr-dfa">
      <td><code>dfa</code></td>
      <td>
        Boolean; optional
        <p>
          Generate a DFA for each decision point.
        </p>
      </td>
    </tr>
    <tr id="antlr-dump">
      <td><code>dump</code></td>
      <td>
        Boolean; optional
        <p>
          Print out the grammar without actions.
        </p>
      </td>
    </tr>
    <tr id="antlr-imports">
      <td><code>imports</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels">List of labels</a>; optional
        <p>
          The grammar and .tokens files to import. Must be all in the same directory.
        </p>
      </td>
    </tr>
    <tr id="antlr-language">
      <td><code>language</code></td>
      <td>
        String; optional
        <p>
          The code generation target language. Either C, Cpp, CSharp2, CSharp3, JavaScript, Java, ObjC, Python, Python3 or Ruby (case-sensitive).
        </p>
      </td>
    </tr>
    <tr id="antlr-message_format">
      <td><code>message_format</code></td>
      <td>
        String; optional
        <p>
          Specify output style for messages.
        </p>
      </td>
    </tr>
    <tr id="antlr-nfa">
      <td><code>nfa</code></td>
      <td>
        Boolean; optional
        <p>
          Generate an NFA for each rule.
        </p>
      </td>
    </tr>
    <tr id="antlr-package">
      <td><code>package</code></td>
      <td>
        String; optional
        <p>
          The package/namespace for the generated code.
        </p>
      </td>
    </tr>
    <tr id="antlr-profile">
      <td><code>profile</code></td>
      <td>
        Boolean; optional
        <p>
          Generate a parser that computes profiling information.
        </p>
      </td>
    </tr>
    <tr id="antlr-report">
      <td><code>report</code></td>
      <td>
        Boolean; optional
        <p>
          Print out a report about the grammar(s) processed.
        </p>
      </td>
    </tr>
    <tr id="antlr-srcs">
      <td><code>srcs</code></td>
      <td>
        <a href="https://bazel.build/concepts/labels">List of labels</a>; required
        <p>
          The grammar files to process.
        </p>
      </td>
    </tr>
    <tr id="antlr-trace">
      <td><code>trace</code></td>
      <td>
        Boolean; optional
        <p>
          Generate a parser with trace output. If the default output is not enough, you can override the traceIn and traceOut methods.
        </p>
      </td>
    </tr>
  </tbody>
</table>


