A minimalistic math parser for Go. It implements the shunting-yard-algorithm and allows to parse math from strings.
The current implementation requires spaces between each math token and does not support trigionometric functions yet.
The library can be used as illustrated below:
package main
import (
"fmt"
"github.com/jacalz/eval"
)
func main() {
input := "( 6 - 2 * ( 6 / 3 ) ) ^ 3"
result, err := eval.Evaluate(input)
if err != nil {
panic(err)
}
fmt.Println(result)
}
A more elaborate example can be found in the example
folder.