Skip to main content

Module source

Module source 

Source
Expand description

Source front-end: turning tzdata text into a typed Database.

Pipeline within this module:

bytes --lexer::tokenize--> Vec<Line>  --parser::parse_into--> Database
  • lexer handles field splitting, comments, quoting, and input-hardening limits.
  • names resolves month/weekday/keyword abbreviations the way zic does.
  • records holds the lexical Line/Field types.
  • parser builds the typed Rule/Zone/Link records.

Re-exports§

pub use leap::parse_leap_source;
pub use parser::parse_into;

Modules§

leap
Leap-source parsing (T11.2 — the grammar wall).
lexer
The lexer: bytes → Lines of Fields.
names
Case-insensitive, unambiguous-prefix matching for the English names zic recognises: month names, weekday names, and a handful of keywords (minimum, maximum, only).
parser
The parser: lexed Lines → a typed Database of Rule/Zone/Link records.
records
Lexical records: the output of the lexer, before any semantic interpretation.