Belp

Build Status Coverage Status Hex.pm

A simple Boolean Expression Lexer and Parser written in Elixir.

Installation

The package can be installed by adding belp to your list of dependencies in mix.exs:

def deps do
  [
    {:belp, "~> 0.1"}
  ]
end

Usage

iex> Belp.eval("foo and bar", foo: true, bar: false)
{:ok, true}

iex> Belp.eval!(
...>   "(foo or bar) and not baz",
...>   %{"foo" => false, "bar" => true, "baz" => true}
...> )
false

iex> Belp.variables("foo or bar")
{:ok, ["foo", "bar"]}

iex> Belp.variables!("foo or bar")
["foo", "bar"]

See HexDocs for the full API.