Crate panmath

source ·

Modules

  • An abstract syntax tree that represents pure mathematical expressions. Unlike most versions of a tree for math, the goal is not to evaluate or transform mathematical expressions, but rather to have a useful shared representation of various math typesetting approaches. This means that, for instance, free variables are fine.
  • File to deal with arbitrary delimiter pairs.
  • This module defines the Formatter trait, representing a given output format that can serialize ASTs. This is where all of the formatting logic is held: ASTs themselves only store the structure of data, not how that structure is represented.
  • This module provides all of the formatters supported by this crate.
  • Defines operators for each symbol and their precedence.
  • Common interface for parsers that can create abstract syntax trees.
  • This module provides an ergonomic way of defining new symbols and building up a library of mathematical symbols to recognize and parse without custom specifications. Specifically, the approach this module takes is to split symbols into several distinct types that share a common structure, and then to implement generic Symbol conversions for those more specific types. This gives us the flexibility of Symbol when we need it, but allows us to save a lot of boilerplate when defining, for instance, every single trig function or letter.

Functions