将Java布尔表达式转换为SMTlib

我在尝试将Java布尔表达式转换为Z3能够理解的格式时遇到一些问题。由于项目的某些要求,我无法使用任何其他工具来评估表达式。表达式中只能使用标识符,而不能使用函数或更复杂的类型。

我考虑的可能性是:

  • 使用parboiled或类似工具构建解析器。这样做的缺点是,在将运算符转换为等效的SMT并可能加上括号之后,我只想移动运算符所在的位置,因此这种解决方案以及涉及AST处理的工作对我来说似乎工作过度。此外,我发现定义一个适合所有嵌套层的语法有点复杂。

  • 使用词法分析器或其他类型的工具获取令牌,然后使用类似于Shunting-yard算法的算法对令牌进行重新排序在这种情况下,可能应该要求输入具有所有括号,以避免出现一些问题。

  • 使用可以解析表达式并对其进行编辑的库。到目前为止,除了让您评估表达式的工具外,我什么都没有找到。

  • 使用可以在符号之间直接转换的内容。我一直在搜索,但找不到。不过,这会让我感到高兴。

我一直在寻找类似的问题,但没有发现任何问题。我会很感激您可能有的任何想法。提前致谢!

达芬奇(Leonardo de Moura)

您考虑过TXL吗?TXL支持解析文件,将转换应用于抽象语法树并打印结果。它易于使用,并且有很多文档和大量的语法(包括Java)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将z3py表达式转换为smtlib 2格式

来自分类Dev

Coq中有什么策略可以将布尔表达式转换为Prop表达式?

来自分类Dev

将Scala表达式转换为Java 1.8

来自分类Dev

将正则表达式从Java转换为.Net

来自分类Dev

将正则表达式从Java转换为.Net

来自分类Dev

将数学表达式转换为C或Java代码

来自分类Dev

将Java正则表达式转换为PHP正则表达式

来自分类Dev

如何将特定的Java表达式转换为Javascript表达式?

来自分类Dev

MySQL多对多设置-如何将布尔表达式转换为MySQL?

来自分类Dev

如何将布尔表达式转换为汇编代码

来自分类Dev

在C#中将布尔表达式转换为char

来自分类Dev

如何将Java正则表达式转换为javascript正则表达式

来自分类Dev

将具有Lambda表达式的Java 8代码转换为Java 6

来自分类Dev

将Java 8代码转换为Java 6:Lamba表达式

来自分类Dev

将具有Lambda表达式的Java 8代码转换为Java 6

来自分类Dev

如何将Java赋值表达式转换为Kotlin

来自分类Dev

将正则表达式字符串从Java转换为Python

来自分类Dev

将Java标记化正则表达式转换为Javascript

来自分类Dev

如何将JavaScript正则表达式转换为Java?

来自分类Dev

如何将regula表达式从php转换为java

来自分类Dev

如何将Java中的表达式“ << = 1”转换为Python

来自分类Dev

如何将动态输入的用户表达式转换为Java代码?

来自分类Dev

将Lambda表达式转换为函数指针

来自分类Dev

Linq:无法将方法转换为商店表达式

来自分类Dev

将Linq表达式转换为SQL Server查询

来自分类Dev

正则表达式将<div>转换为<br>

来自分类Dev

无法将表达式类型转换为返回类型

来自分类Dev

将SqlDataReader转换为linq表达式

来自分类Dev

将Unicode代码点转换为字符的表达式

Related 相关文章

热门标签

归档