Metadata-Version: 2.0
Name: bamboolean
Version: 0.1.3
Summary: Interpreter of Boolean Logic Language
Home-page: https://github.com/qedsoftware/bamboolean
Author: Quantitative Engineering Design Inc.
Author-email: info@qed.ai
License: MIT
Description-Content-Type: UNKNOWN
Keywords: boolean logic interpreter
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Interpreters
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6

# Bamboolean interpreter

Implementation of Bamboolean - Boolean Logic Language

Bamboolean is a simple language that consumes array of pre-defined variables, and
returns boolean value if constraints on these variables are met.

## Features

1. Case in-sensitive variable names and keywords

TODO: list features
TODO: describe operators associativity and precedence

## Testing

Run tests:

`python -m unittest discover bamboolean/`

## BNF Grammar

```
expr : simple_expr (OR simple_expr)*

simple_expr : term (AND term)*

term : constraint
     | LPAREN expr RPAREN

constraint : variable relational_operator value

value : INTEGER
      | FLOAT
      | STRING
      | BOOL

variable: ID

relational_operator : ( EQ | NE | LT | LTE | GT | GTE )
```


