Temper's first compiler#
These pages describe Temper's first compiler, written in Kotlin (temperlang/temper), as its documentation site published them. They're kept for reference while both compilers live; tempest works differently, as the rest of internals shows.
- Writing a new backend: the Kotlin backend guide: backend IDs, a backend's Gradle module, out-grammars, tests, and the functional test matrix. tempest's backends are described in backends.
- Output grammars: the
.out-grammarformat, from which the Kotlin compiler generates its backends' syntax trees. tempest has no generated trees; its backends write source from tmpl directly.
How tempest differs from the Kotlin compiler, on purpose and where the Kotlin compiler has bugs, is in notes/kotlin-differences.md.