pub struct Eqtb {Show 28 fields
pub cs: Vec<Slot<Meaning>>,
pub int_par: Vec<Slot<i32>>,
pub count: Vec<Slot<i32>>,
pub attr: Vec<Slot<i32>>,
pub dimen_par: Vec<Slot<i32>>,
pub dimen: Vec<Slot<i32>>,
pub glue_par: Vec<Slot<Glue>>,
pub skip: Vec<Slot<Glue>>,
pub muskip: Vec<Slot<Glue>>,
pub toks_par: Vec<Slot<TokenList>>,
pub toks: Vec<Slot<TokenList>>,
pub boxes: Vec<Slot<NodeRef>>,
pub cur_font: Slot<u32>,
pub math_font: Vec<Slot<u32>>,
pub par_shape: Slot<Option<Rc<[i32]>>>,
pub etex_shape: Vec<Slot<Option<Rc<[i32]>>>>,
pub catcode_tables: HashMap<u32, CodeTable, FastHash>,
pub lc: CodeTable,
pub uc: CodeTable,
pub sf: CodeTable,
pub math: CodeTable,
pub del: CodeTable,
pub math_param: HashMap<u32, Slot<i32>>,
pub local_box: [Slot<NodeRef>; 2],
pub dir_par: [Slot<i32>; 6],
pub local_count: [Slot<i32>; 2],
pub attr_generation: u64,
pub attrs_in_use: bool,
}Expand description
The full table of equivalents.
Fields§
§cs: Vec<Slot<Meaning>>Meanings of control sequences, indexed by CsId.
int_par: Vec<Slot<i32>>Integer parameters.
count: Vec<Slot<i32>>\count registers.
attr: Vec<Slot<i32>>\attribute registers.
dimen_par: Vec<Slot<i32>>Dimension parameters.
dimen: Vec<Slot<i32>>\dimen registers.
glue_par: Vec<Slot<Glue>>Glue and muglue parameters.
skip: Vec<Slot<Glue>>\skip registers.
muskip: Vec<Slot<Glue>>\muskip registers.
toks_par: Vec<Slot<TokenList>>Token-list parameters.
toks: Vec<Slot<TokenList>>\toks registers.
boxes: Vec<Slot<NodeRef>>\box registers.
cur_font: Slot<u32>The current font.
math_font: Vec<Slot<u32>>Math fonts, size * NUM_FAMILIES + family.
par_shape: Slot<Option<Rc<[i32]>>>\parshape: pairs (indent, length) flattened.
etex_shape: Vec<Slot<Option<Rc<[i32]>>>>e-TeX penalty arrays (\interlinepenalties, …).
catcode_tables: HashMap<u32, CodeTable, FastHash>Catcode tables, indexed by table number.
lc: CodeTable\lccode.
uc: CodeTable\uccode.
sf: CodeTable\sfcode.
math: CodeTable\mathcode.
del: CodeTable\delcode.
math_param: HashMap<u32, Slot<i32>>\Umath… parameters: param * 8 + style.
local_box: [Slot<NodeRef>; 2]\localleftbox, \localrightbox.
dir_par: [Slot<i32>; 6]Direction parameters (\pagedir …, as numbers 0–3).
local_count: [Slot<i32>; 2]\nolocalwhatsits, \nolocaldirs.
attr_generation: u64Incremented whenever an attribute register changes.
attrs_in_use: boolWhether any attribute register was ever set.
Implementations§
Source§impl Eqtb
impl Eqtb
Sourcepub fn initex() -> Self
pub fn initex() -> Self
The initial table of IniTeX: everything undefined or zero, with TeX’s few non-zero defaults.
Sourcepub fn toks_param(&self, i: u32) -> &TokenList
pub fn toks_param(&self, i: u32) -> &TokenList
The token-list parameter with index i.
Sourcepub fn cur_cat_table(&self) -> u32
pub fn cur_cat_table(&self) -> u32
The current catcode table number.
Sourcepub fn catcode_in(&self, table: u32, c: u32) -> u8
pub fn catcode_in(&self, table: u32, c: u32) -> u8
The category code of c in table table. Missing tables read as
IniTeX defaults.
Sourcepub fn holds(&self, loc: Loc, val: &Val) -> bool
pub fn holds(&self, loc: Loc, val: &Val) -> bool
Whether loc holds val already (TeX’s test for “reassigning”),
without cloning the current value.
Sourcepub fn set(&mut self, loc: Loc, val: Val, level: u16)
pub fn set(&mut self, loc: Loc, val: Val, level: u16)
Stores val at loc with level level. Mismatched value kinds are
ignored (they indicate a bug and are caught in debug builds).
Sourcepub fn code_table(&self, kind: CodeKind) -> &CodeTable
pub fn code_table(&self, kind: CodeKind) -> &CodeTable
The code table of the given kind.