布尔逻辑语言解释器

bamboolean的Python项目详细描述


Bambolean解释器

Build Status

从python支持>;=3.6

bambolean布尔逻辑语言的实现

bambolean是一种使用预定义变量数组的简单语言,并且 如果满足这些变量的约束,则返回布尔值。

Exemplary expressions in the language

功能

  • 敏感变量名和关键字的大小写
  • 比较运算符(如下所示)
  • 逻辑和/或
  • 带圆括号的表达式
  • 类型:float、int、string、bool、variable
  • Truth value testing same as in Python
  • 当未指定关系运算符时,将变量隐式转换为布尔值
运算符关联性

所有运算符都是左关联的

运算符优先级(数字越高优先级越高)
  1. ==!=<;<;=>;>;=

测试

运行测试:

`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 :

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java组在不同线程中记录消息   java Wicket挂载404错误页   Java:如何制作对象数组的副本?   类似Windows中的java日期时间选择器   java无法获取JTextField用户输入以搜索文本文件   安卓 Java:如何随机更改背景和字体颜色   Java定时器中的摆动变化延迟   java让Selenium暂停X秒   将响应传递到视图时发生java Nativescript错误   java刷新安卓列表视图的最佳方式是什么?   单java进程的多线程队列/工作线程体系结构   web服务Java NoSuchMethodException   java groupingBy和filter一步到位   java游标。getCount()给定错误   即使引用的文件位于项目根目录中,java PrintWrite仍会持续引发“未找到文件”异常