# Documentation index * [Home page](index.md) ## Compiler usage * [Getting started](api/getting-started.md) * [Command-line option reference](api/command-line.md) * [Target platform reference](api/target-platforms.md) * [Defining a custom platform](api/custom-platform.md) ## Language reference * [Preprocessor](lang/preprocessor.md) * [Syntax](lang/syntax.md) * [Types](lang/types.md) * [Literals](lang/literals.md) * [Predefined constants](lang/predefined_constants.md) * [List of text encodings and escape sequences](lang/text.md) * [Operators reference](lang/operators.md) * [Functions](lang/functions.md) * [Inline 6502 assembly syntax](lang/assembly.md) * [Inline 8080/LR35902/Z80 assembly syntax](lang/assemblyz80.md) * [Important guidelines regarding reentrancy](lang/reentrancy.md) ## Library reference * [`stdlib` module](stdlib/stdlib.md) * [`string` module](stdlib/string.md) * [`stdio` module](stdlib/stdio.md) * [Modules for reading input devices](stdlib/input.md) * [`encconv` module](stdlib/encconv.md) * [Other cross-platform modules (`keyboard`, `err`, `random`)](stdlib/other.md) * [Definitions available on only some platforms](stdlib/frequent.md) * [C64-only modules](stdlib/c64.md) * [`cbm_file` module](stdlib/cbm_file.md) * [NES-only modules](stdlib/nes.md) * [Atari Lynx-only modules](stdlib/lynx.md) * [Game Boy–only modules](stdlib/gb.md) * [X16–only modules](stdlib/x16.md) ## Implementation details * [Variable storage](abi/variable-storage.md) * [Calling convention](abi/calling-convention.md) * [Undefined behaviour](abi/undefined-behaviour.md) * [Undocumented instruction support](abi/undocumented.md) * [Reference for labels in generated assembly code](abi/generated-labels.md) ## External links * [Example programs](https://github.com/KarolS/millfork/tree/master/examples) * [Millfork wiki](https://github.com/KarolS/millfork/wiki) * [Benchmarks](https://github.com/KarolS/millfork-benchmarks) * [Downloads](https://github.com/KarolS/millfork/releases/) * [Source code](https://github.com/KarolS/millfork)