Skip to main content

Module hash

Module hash 

Source
Expand description

The control-sequence table (TeX’s hash).

Every control sequence gets a dense CsId. A name is a byte string in (extended) UTF-8. A name of exactly one character is a single-character control sequence such as \a or \ . Active characters live in their own namespace. Frozen control sequences (TeX’s frozen_… locations) have a printable name but cannot be looked up by name.

Structs§

CsId
Identifier of a control sequence.
CsTable
The control-sequence table.
FastHasher
A fast hash for short keys (control-sequence names): words are folded in with a multiply and a rotation. Not resistant to collision attacks, which do not matter for a TeX run.

Enums§

CsKind
What kind of control sequence an id refers to.

Constants§

NO_CS
“No control sequence” (TeX’s cur_cs = 0 for character tokens).
NULL_CS
The id of \csname\endcsname.
UNDEFINED_CS
The id of the undefined control sequence (TeX’s undefined_control_sequence), used as a dummy.

Type Aliases§

FastHash
std::hash::BuildHasher for FastHasher.