pub enum Node<'arena> {
Show 33 variants
Number(&'arena str),
IdentifierChar(char, LetterAttr),
StretchableOp(StretchableOp, StretchMode, Option<OpAttr>),
Operator {
op: MathMLOperator,
attr: Option<OpAttr>,
left: Option<MathSpacing>,
right: Option<MathSpacing>,
},
PseudoOp {
attr: Option<OpAttr>,
left: Option<MathSpacing>,
right: Option<MathSpacing>,
name: &'arena str,
},
IdentifierStr(&'arena str),
Space(Length),
Subscript {
target: &'arena Node<'arena>,
symbol: &'arena Node<'arena>,
},
Superscript {
target: &'arena Node<'arena>,
symbol: &'arena Node<'arena>,
},
SubSup {
target: &'arena Node<'arena>,
sub: &'arena Node<'arena>,
sup: &'arena Node<'arena>,
},
OverOp(MathMLOperator, Option<OpAttr>, &'arena Node<'arena>),
UnderOp(MathMLOperator, &'arena Node<'arena>),
Overset {
symbol: &'arena Node<'arena>,
target: &'arena Node<'arena>,
},
Underset {
symbol: &'arena Node<'arena>,
target: &'arena Node<'arena>,
},
UnderOver {
target: &'arena Node<'arena>,
under: &'arena Node<'arena>,
over: &'arena Node<'arena>,
},
Sqrt(&'arena Node<'arena>),
Root(&'arena Node<'arena>, &'arena Node<'arena>),
Frac {
num: &'arena Node<'arena>,
denom: &'arena Node<'arena>,
lt_value: LengthValue,
lt_unit: LengthUnit,
attr: Option<FracAttr>,
},
Row {
nodes: &'arena [&'arena Node<'arena>],
attr: Option<RowAttr>,
},
Fenced {
style: Option<Style>,
open: Option<StretchableOp>,
close: Option<StretchableOp>,
content: &'arena Node<'arena>,
},
SizedParen(Size, StretchableOp),
Text(Option<HtmlTextStyle>, &'arena str),
Table {
align: Alignment,
style: Option<Style>,
content: &'arena [&'arena Node<'arena>],
},
EquationArray {
align: Alignment,
last_equation_num: Option<NonZeroU16>,
content: &'arena [&'arena Node<'arena>],
},
MultLine {
num_rows: NonZeroU16,
last_equation_num: Option<NonZeroU16>,
content: &'arena [&'arena Node<'arena>],
},
Array {
style: Option<Style>,
array_spec: &'arena ArraySpec<'arena>,
content: &'arena [&'arena Node<'arena>],
},
ColumnSeparator,
RowSeparator(Option<NonZeroU16>),
Enclose {
content: &'arena Node<'arena>,
notation: Notation,
},
Slashed(&'arena Node<'arena>),
Multiscript {
base: &'arena Node<'arena>,
sub: Option<&'arena Node<'arena>>,
sup: Option<&'arena Node<'arena>>,
},
HardcodedMathML(&'static str),
Dummy,
}Expand description
AST node
Variants§
Number(&'arena str)
<mn>...</mn>
IdentifierChar(char, LetterAttr)
<mi>...</mi> for a single character.
StretchableOp(StretchableOp, StretchMode, Option<OpAttr>)
Operator
<mo>...</mo> for a single character.
PseudoOp
<mo>...</mo> for a string.
IdentifierStr(&'arena str)
<mi>...</mi> for a string.
Space(Length)
<mspace width="..."/>
Subscript
<msub>...</msub>
Superscript
<msup>...</msup>
SubSup
<msubsup>...</msubsup>
OverOp(MathMLOperator, Option<OpAttr>, &'arena Node<'arena>)
<mover accent="true">...</mover>
UnderOp(MathMLOperator, &'arena Node<'arena>)
<munder accent="true">...</munder>
Overset
<mover>...</mover>
Underset
<munder>...</munder>
UnderOver
<munderover>...</munderover>
Sqrt(&'arena Node<'arena>)
<msqrt>...</msqrt>
Root(&'arena Node<'arena>, &'arena Node<'arena>)
<mroot>...</mroot>
Frac
<mfrac>...</mfrac>
Row
<mrow>...</mrow>
Fenced
SizedParen(Size, StretchableOp)
Text(Option<HtmlTextStyle>, &'arena str)
<mtext>...</mtext>
Table
<mtable>...</mtable> for matrices and similar constructs
EquationArray
<mtable>...</mtable> for equation arrays like the align environment
Fields
last_equation_num: Option<NonZeroU16>MultLine
<mtable>...</mtable> for the multline environment
Array
<mtable>...</mtable> for arrays
Fields
ColumnSeparator
<mtd>...</mtd>
RowSeparator(Option<NonZeroU16>)
<mtr>...</mtr>
Enclose
Slashed(&'arena Node<'arena>)
Multiscript
Fields
HardcodedMathML(&'static str)
Dummy
This node is used when the parser needs to return a node, but does not want to emit anything.