Glossary¶
- sigil¶
A leading symbol that classifies a name:
$for a variable,@for a function,%for a hardware register alias. The sigil is part of the token, so the lexer never has to guess what a bare word means.- storage space¶
The memory region a value lives in:
ram(SRAM),eeprom, orflash(program memory). It is declared explicitly and is part of a pointer’s type. See Memory model.- target¶
The microcontroller a program is compiled for, fixed by the top-level
targetdeclaration. It determines the register map, memory sizes, and interrupt vector table. See Targets and conditional compilation.- register alias¶
A
const %NAME: u16 = <addr>declaration binding a%name to a peripheral register’s I/O address for the current target.- intrinsic¶
A built-in
@operation recognised by the code generator that emits specific AVR instructions inline instead of being a real function call — for example@nop,@sei,@burn. See Compiler intrinsics.- ISR¶
Interrupt Service Routine: a handler bound to a hardware interrupt vector with the
isrkeyword. See Interrupts.- fixed-point¶
The representation used for fractional values in place of floating point.
r8is Q4.4 andr16is Q8.8 — an integer scaled by a power of two. See Type system.- Q8.8¶
A fixed-point format with 8 integer bits and 8 fractional bits, stored as a 16-bit integer equal to the real value times 256. The type
r16and the std/math — Fixed-point math library use it.- intrinsic register argument¶
A literal register index (0–31) passed to a register-level intrinsic such as
@swap,@movw, or@mul. It must be a compile-time constant, not a variable.- Intel HEX¶
The textual object format the compiler emits, describing AVR instruction words for flashing. The toolchain produces nothing else — no ELF, no linker step.
- function pointer¶
A value of type
fn(...) -> ...holding the address of a function, created with&@nameand called with@$var(...). See Functions.