Files
Graphite/libraries/math-parser/Cargo.toml
urisinger 9fb494764c Add math-parser library (#2033)
* start of parser

* ops forgot

* reorder files and work on executer

* start of parser

* ops forgot

* reorder files and work on executer

* Cleanup and fix tests

* Integrate into the editor

* added unit checking at parse time

* fix tests

* fix issues

* fix editor intergration

* update pest grammer to support units

* units should be working, need to set up tests to know

* make unit type store exponants as i32

* remove scale, insted just multiply the literal by the scale

* unit now contains empty unit,remove options

* add more tests and implement almost all unary operators

* add evaluation context and variables

* function calling, api might be refined later

* add constants, change function call to not be as built into the parser
and add tests

* add function definitions

* remove meval

* remove raw-rs from workspace

* add support for numberless units

* fix unit handleing logic, add some "unit" tests(haha)

* make it so units cant do implcit mul with idents

* add bench and better tests

* fix editor api

* remove old test

* change hashmap context to use deref

* change constants to use hashmap instad of function

---------

Co-authored-by: hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-11-21 10:24:01 -08:00

24 lines
452 B
TOML

[package]
name = "math-parser"
version = "0.0.0"
rust-version = "1.79"
edition = "2021"
authors = ["Graphite Authors <contact@graphite.rs>"]
description = "Parser for Graphite style mathematics expressions"
license = "MIT OR Apache-2.0"
[dependencies]
pest = "2.7"
pest_derive = "2.7.11"
thiserror = "1"
lazy_static = "1.5"
num-complex = "0.4"
log = { workspace = true }
[dev-dependencies]
criterion = "0.5"
[[bench]]
name = "bench"
harness = false