---
syntax: markdown
tags: [tldr, common]
source: https://github.com/tldr-pages/tldr.git
---
# flex

> Lexical analyzer generator. A rewrite of `lex` with extensions to the POSIX specification.
> Given the specification for a lexical analyzer, generates C code implementing it.
> Note: long options don't work on OpenBSD.
> More information: <https://manned.org/flex>.

- Generate an analyzer from a flex file, storing it to the file `lex.yy.c`:

`lex {{analyzer.l}}`

- Write analyzer to `stdout`:

`lex -{{-stdout|t}} {{analyzer.l}}`

- Specify the output file:

`lex {{analyzer.l}} -o {{analyzer.c}}`

- Generate a [B]atch scanner instead of an interactive scanner:

`lex -B {{analyzer.l}}`

- Compile a C file generated by Lex:

`cc {{path/to/lex.yy.c}} --output {{executable}}`
