Skip to main content

AMBIG_DATA_ID

Constant AMBIG_DATA_ID 

pub const AMBIG_DATA_ID: DisplayId;
Expand description

Ambiguity tree-data sentinels. Earley ambiguity='explicit' wraps derivations in _ambig, _iambig/_inter Trees whose data names are not rule origins, so they have no slot in ParseTable::display_names. They intern as reserved data_ids at the top of the u32-backed DisplayId range — the POC used one such sentinel (AMBIG_DATA_ID = usize::MAX, parser.rs:154); this transposes the idea into DisplayId space for all three. Resolve names via ParseTable::data_name, never by indexing display_names. (Sentinels sit far above any real display_id; a grammar with u32::MAX - 2 distinct tree names is not representable regardless.)