# `Alaja.Syntax.Engine`
[🔗](https://github.com/Lorenzo-SF/alaja/blob/2.1.0/lib/alaja/syntax/engine.ex#L1)

Generic single-pass character scanner driven by `Alaja.Syntax.Language`.

Each scan position tries patterns in order; the first match wins.
Multi-line constructs (block comments, multi-line strings) set a
context that the next iteration resolves before trying new matches.

# `tokenize`

```elixir
@spec tokenize(String.t(), Alaja.Syntax.Language.t()) :: [{atom(), String.t()}]
```

Tokenizes source code into `{type, text}` tuples.

---

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