布尔逻辑语言解释器
bamboolean的Python项目详细描述
Bambolean解释器
从python支持>;=3.6
bambolean布尔逻辑语言的实现
bambolean是一种使用预定义变量数组的简单语言,并且 如果满足这些变量的约束,则返回布尔值。
Exemplary expressions in the language
功能
- 敏感变量名和关键字的大小写
- 比较运算符(如下所示)
- 逻辑和/或
- 带圆括号的表达式
- 类型:float、int、string、bool、variable
- Truth value testing same as in Python
- 当未指定关系运算符时,将变量隐式转换为布尔值
运算符关联性
所有运算符都是左关联的
运算符优先级(数字越高优先级越高)
- 或
- 和
- ==!=<;<;=>;>;=
测试
运行测试:
`python run_tests.py`
ebnf语法
compound_expr : expr
| empty
expr : simple_expr (OR simple_expr)*
simple_expr : term (AND term)*
term : statement
| LPAREN expr RPAREN
statement : value
| constraint
constraint : variable (relational_operator value)?
relational_operator : ( EQ | NE | LT | LTE | GT | GTE )
value : INTEGER
| FLOAT
| STRING
| BOOL
variable : ID
empty :