# `mix compile.yecc`
[🔗](https://github.com/elixir-lang/elixir/blob/7ff272706afc522e74121493b7166719985cb099/lib/mix/lib/mix/tasks/compile.yecc.ex#L5)

Compiles Yecc source files.

When this task runs, it will check the modification time of every file, and
if it has changed, the file will be compiled. Files will be
compiled in the same source directory with a .erl extension.
You can force compilation regardless of modification times by passing
the `--force` option.

You must add `compilers: [:yecc] ++ Mix.compilers()` in the
`def project` section of your `mix.exs` to run this compiler.

## Command line options

  * `--all-warnings` (`--no-all-warnings`) - prints all warnings, including previous compilations
    (default is true except on errors)
  * `--force` - forces compilation regardless of modification times
  * `--verbose` - prints verbose output

## Configuration

  * `:erlc_paths` - directories to find source files. Defaults to `["src"]`.

  * `:yecc_options` - compilation options that apply
    to Yecc's compiler.

    For a complete list of options, see `:yecc.file/1`.
    Note that the `:report`, `:return_errors`, and `:return_warnings` options
    are overridden by this compiler, thus setting them has no effect.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
