Package-level declarations
Types
Abstract printing of unary operations that discards MST if their operation is not in operations or its type is not MST.Binary.
Handles binary nodes by producing BinaryMinusSyntax.
Represents binary, infix subtraction (42 − 42).
Handles binary nodes by producing BinaryOperatorSyntax.
Represents binary, prefix operator syntax (like f(a, b)).
Handles binary nodes by producing BinaryPlusSyntax.
Represents binary, infix addition (42 + 42).
Binary node, which has only two children.
Handles unary nodes by producing ExponentSyntax.
Represents exponential function.
Implements MST render process with sequence of features.
Extends FeaturedMathRenderer by adding post-processing stages.
Handles binary nodes by producing FractionSyntax.
Represents fraction with numerator and denominator.
Handles binary nodes by producing inverse UnaryOperatorSyntax with ar prefix instead of a.
Handles binary nodes by producing inverse UnaryOperatorSyntax with arc prefix instead of a.
SyntaxRenderer implementation for LaTeX.
SyntaxRenderer implementation for MathML.
Renders MST to MathSyntax.
Syntax node for mathematical typography.
Handles binary nodes by producing MultiplicationSyntax.
Represents binary, infix multiplication in the form of coefficient (2 x) or with operator (x × 2).
Represents a number.
Represents operand of a certain operator wrapped with parentheses or not.
Node containing a certain operation.
Represents special typing for operator name.
Handles binary nodes by producing SuperscriptSyntax.
Special printing for numeric types that are printed in form of ('-'? (DIGIT+ ('.' DIGIT+)? ('E' '-'? DIGIT+)? | 'Infinity')) | 'NaN'.
Special printing for numeric types that are printed in form of '-'? DIGIT+.
Special printing for symbols meaning Pi.
Represents radical with a node inside it (√x).
Represents radical syntax with index (3√x).
Removes unnecessary parentheses from OperandSyntax.
Represents a usage of special symbols (e.g., ∞).
Handles binary nodes by producing RadicalSyntax with no index.
Represents a syntax node with subscript (xi).
Represents a syntax node with superscript (x2).
Represents a symbol.
Abstraction of writing MathSyntax as a string of an actual markup language. Typical implementation should involve traversal of MathSyntax with handling each subtype.
Terminal node, which should not have any children nodes.
Abstract printing of unary operations that discards MST if their operation is not in operations or its type is not MST.Unary.
Handles binary nodes by producing UnaryMinusSyntax.
Represents prefix, unary minus operator (-x).
Handles unary nodes by producing UnaryOperatorSyntax.
Represents unary, prefix operator syntax (like f(x)).
Handles unary nodes by producing UnaryPlusSyntax.
Represents prefix, unary plus operator (+x).
Unary node, which has only one child.
Functions
Calls SyntaxRenderer.render with given node and a new StringBuilder instance, and returns its content.
Properties
Applies ExponentSyntax.useOperatorForm to ExponentSyntax when the operand contains a fraction, a superscript or a subscript to improve readability.
Chooses FractionSyntax.infix depending on the context.
Removes unnecessary times (×) symbols from MultiplicationSyntax.
Prints any MST.Numeric as a NumberSyntax containing the Any.toString result of it.
Prints any Symbol as a SymbolSyntax containing the Symbol.identity of it.