java – Boolean对Concrete语法树的查询/表达式

我正在创建一个允许布尔表达式的搜索表单,例如:“foo AND bar”或“foo AND NOT bar”.

是否有PHP,Ruby或Java库可以将布尔表达式转换为具体的语法树?

(我可以编写自己的词法分析器/解析器,但我宁愿使用经过试验和测试的东西)

编辑:澄清一下,我不是解析心律失常的表达.它将用于解析允许布尔运算符的全文查询.

解决方法:

我推荐Treetop.这是一种为您的PEG生成解析器的小型语言(Parsing Expression Grammar).它比LALR语法更容易使用,并且比递归下降解析器更强大(即它可以做一些超过一个符号的前瞻).

虽然Treetop并不复杂,但开始时有一些简单的例子是有帮助的.你会在threedaymonk’s treetop examples找到它们.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...