Skip to content
/ eval Public

Minimalistic evaluator for mathematical expressions.

License

Notifications You must be signed in to change notification settings

Jacalz/eval

Repository files navigation

eval

A minimalistic math parser for Go. It implements the shunting-yard-algorithm and allows to parse math from strings.

Work in progress

The current implementation requires spaces between each math token and does not support trigionometric functions yet.

Example

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.