#expression-parser #math-parser #parser #variables #string #tan

expression_core

Core functionality for mathematical expression parsing

1 unstable release

new 0.1.0 Mar 2, 2025

#93 in Parser tooling

Download history 120/week @ 2025-02-26

120 downloads per month
Used in 2 crates

MIT license

28KB
590 lines

Mathematical Expression Parser

This is a Rust library used for parsing and evaluating mathematical expressions (want to add algebraic manipulations). It is inspired by Sympy from Python and I want to try to make this into a fully working project.

Features

  • Parse mathematical expressions from strings
  • Evaluate expressions with variable substitution
  • Build expression trees
  • Compile-time expression parsing with proc-macros
  • Support for
    • Basic arithmetic: +, -, *, /, ^
    • Trigonometric Functions: sin, cos, tan, arcsin, arccos, arctan

Crate Structure

The project is organized into three crates:

  • expression_core: Contains the Expression type and parsing logic
  • expression_macro: Contains the proc-macro for compile-time expression parsing
  • expression_parser: High-level API for parsing and evaluating expressions

Installation

Add the following to your Cargo.toml:

[dependencies]
expression_parser = "0.1.0"

For compile-time expression parsing:

[dependencies]
expression_macro = "0.1.0"

No runtime deps