逻辑表达式解析器

2024-02-12

我正在尝试为以下表达式创建一个逻辑表达式解析器: ((变量A -> 变量B)而不是变量C) 对于给定的变量值,解析器应该能够返回结果是 true 还是 false。

基本上,表达式仅包含变量、逻辑运算符(或、与、蕴涵、等价、否定和括号)。

我想问实现这种解析器的最佳方法是什么(使用 AST 树,或逆波兰表示法)?或者也许已经存在一些可以完成这项工作的开源解析器?


您的目标语言是什么?

如果你想创建一个解析器,也许ANTLR http://www.antlr.org/会为你解决问题的。它最初是基于 java 的,但它具有多种语言的生成器(例如,我用它来生成 C# 解析器),并且上手并不难。 它有一个很好的编辑器(ANTLRWorks),可以测试语法,这是一个很好的优点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

逻辑表达式解析器 的相关文章

  • 改进/修复 C 样式块注释的正则表达式

    我正在 用 C 编写一个简单的解析器来处理看起来很像经典 C 的脚本语言 在我拥有的一个脚本文件中 我用来识别 块注释 的正则表达式会进入某种无限循环 长时间占用 100 的 CPU 我使用的正则表达式是这样的 r n r n 关于为什么这
  • 使用 preg_split 分割和弦和单词

    我正在编写一小段播放处理歌曲标签的代码 但我遇到了一个问题 我需要解析每首歌曲选项卡行并将其拆分以获取大块chords一方面 并 且words在另一个 每个块就像 line chunk array 0 gt part of line con
  • 解析日期字符串

    我在 post 变量中有这个字符串 03 21 2011 我需要通过php解析它并将其转换成这种格式 2011 03 21 我正在使用 php 我需要这种格式 以便我可以运行此查询 SELECT prospect as Prospect c
  • 关于Java中trim()方法的查询

    我之前提出了一个问题 但遭到了严厉的批评 所以我在这里再次提出 更简单 并重新措辞以吸引那些可能担心我之前提出问题的方式的人 背景 我正在解析一些 HTML 以获取信息 我将所有内容隔离在一系列行中 但我希望抓取的内容以及后面的一堆空格 为
  • C# 中的 DateTime.Parse 抛出异常

    我不知道为什么抛出异常 这是工作代码 DateTime Parse 1 12 2012 12 00 00 AM 这是抛出异常的一个 DateTime Parse 1 13 2012 12 00 00 AM 抛出的异常是 格式异常 包括此消息
  • 导入数据期间解析日期格式的最佳方法

    我创建了在数据导入 400 K 记录 期间解析视图不同日期格式的方法 我的方法捕获 ParseException 并尝试在不同时使用下一种格式解析日期 问题 在数据导入期间设置正确的日期格式是更好的方法 更快 吗 private stati
  • DateTimeFormatter 中的通配符

    我需要将一个字符串解析为LocalDate 该字符串看起来像31 03 2016用正则表达式术语 即 表示日期数字后可能有 0 个或多个未知字符 输入 输出示例 31xy 03 2016 gt 2016 03 31 我希望在 DateTim
  • Java 中的递归下降解析器

    我想在序言中说这是我三年级编程语言课的家庭作业 我正在寻求一些帮助 我的作业如下 截止日期 2013年2月22日晚上11点55分提交 请将以下内容上传到CMS 1 源代码2 程序执行的屏幕截图 包括您使用的输入文件 使用您喜欢的任何编程语言
  • VBA:访问 JSON

    我正在处理 VBA 投影 但不确定如何访问此 JSON 中的 id 应该将 players 设置为什么才能在循环中获取 id 我已经用更多代码更新了问题 JSON event games players id 182759 Code Pri
  • 如何将表达式> 转换为谓词

    我有一个方法接受Expression
  • 解析嵌套括号内包含的值

    我只是在开玩笑 奇怪地发现在简单的递归函数中解析嵌套括号有点棘手 例如 如果程序的目的是查找用户详细信息 它可能来自 name surname age to Bob Builder age 然后到Bob Builder 20 这是一个用于在
  • 是否有像 gccxml 这样的用于生成包装器的 C 标头解析器工具?

    我需要为一种新的编程语言编写一些 C 标头包装器 并且想要类似 gccxml 的东西 但不完全依赖 gcc 以及它在 Windows 系统上带来的问题 只需要读C而不是C 只要有完整的文档记录 任何格式的输出都可以 Linux Solari
  • 自动解析 PHP,将 PHP 代码与 HTML 分离

    我正在开发一个大型 PHP 代码库 我想将 PHP 代码与 HTML 和 JavaScript 分开 我需要对 PHP 代码进行多次自动搜索和替换 对 HTML 进行不同的搜索和替换 对 JS 进行不同的自动搜索和替换 有没有一个好的解析器
  • 从 python 中的缩进文本文件创建树/深度嵌套字典

    基本上 我想迭代一个文件并将每行的内容放入一个深层嵌套的字典中 其结构由每行开头的空格数量定义 本质上 目标是采取这样的事情 a b c d e 并将其变成这样的东西 a b c d e Or this apple colours red
  • 如何在Java中有效地读取由大量小项目组成的大型XML文件?

    我有一个很大的 XML 文件 其中包含相对固定大小的项目 即
  • 如何使用 SAX Java 解析器读取注释文本

    我只想使用 Java 中的 SAX 解析器读取 XML 文件中对象标记的注释 这是我的文件的摘要
  • java数据结构模拟数据树

    我需要帮助定义使用什么方法 我有一个 SOAP 响应 给我一个 xml 文件 我需要在屏幕上显示 3 个相关列表 当您在第一个列表中选择一个项目时 相应的选择将出现在第二个列表中 依此类推 我只对从 xml 流中提取数据后如何有效地组织数据
  • 用于冒号分隔标签的 XML 解析器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 构建一个简单的解析器,能够使用 PyParse 解析不同的日期格式

    我正在构建一个简单的解析器 它接受如下查询 显示 fizi 从 2010 年 1 月 1 日到 2006 年 2 月 11 日的提交 到目前为止我有 class QueryParser object def parser self stmn
  • 预处理后解析 C++ 源文件

    我正在尝试分析c 使用我定制的解析器的文件 写在c 在开始解析之前 我想摆脱所有 define 我希望源文件在预处理后可以编译 所以最好的方法是运行C Preprocessor在文件上 cpp myfile cpp temp cpp or

随机推荐

  • 如何使用CMake检测目标架构?

    我已经做了很多研究 但无法找到答案 我如何使用 CMake 可靠地找到我正在编译的目标架构 基本上相当于qmake中的QMAKE TARGET arch 大多数来源似乎建议使用 CMAKE SYSTEM PROCESSOR 但这是一个糟糕的
  • 如何在 Android 中实现 Webhook?

    例如我想要一个网址www example com status在我的 Android 应用程序中 我将观察该应用程序并将从服务器接收多个 POST 请求 对于每个 POST 请求 我都会触发一个功能 我不明白如何在 URL 上实现 24x7
  • 使用照片框架删除相机胶卷资源

    我正在编写一个测试应用程序 看看是否可以使用照片框架删除 iOS 8 中的 照片库 资源 尽管我怀疑这是不可能的 但我发现文档不清楚 并且该网站上的帖子似乎表明这是可能的 看here https stackoverflow com ques
  • 如何解决ssh:/usr/lib64/libcrypto.so.10:没有可用的版本信息[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试执行 ssh 并收到以下消息 ssh ssh usr lib64 libcrypto so 10 no version info
  • 如何在具有源图像的 Flutter 中覆盖资源图像?

    我对 Dart 和 Flutter 相当陌生 并且在从源图像覆盖现有资产图像时遇到困难 我的尝试 try File localFile File assets images myImage png localFile writeAsByte
  • 如何通过 Composer 为 PHP CLI 提供脚本(作为独立的和作为依赖项)

    我正在尝试编写一个我想从命令行运行的 PHP 脚本 我想使用 Composer 来管理其依赖项 并使其可以作为其他项目的依赖项进行安装 我还想保持单独使用它 及其依赖项 的能力 现在 main php是我的 入口点 我将从命令行执行的内容
  • Flutter Widgets 排列和事件

    我正在尝试在 Flutter 中构建一个表单 请看一下我到目前为止制作的屏幕图像 我对这个页面有几个问题 我怎样才能对齐DropDown按钮 项目和任务 以便它们将以相同的宽度拉伸并且它们的图标将位于相同的位置 另外 我怎样才能用某种边框装
  • 将 Solr HDFS 数据复制到另一个集群

    我有一个 solr 云 v 4 10 安装 位于 Cloudera CDH 5 4 2 HDFS 之上 有 3 个 solr 实例 每个实例托管每个核心的一个分片 我正在寻找一种将 solr 数据从生产集群增量复制到开发集群的方法 有 3
  • php DOMDocument 添加带有 DOCTYPE 声明的 标头

    我通过 DOMDocument 类向每个链接添加 b 哈希 dom new DOMDocument dom gt loadHTML output a tags dom gt getElementsByTagName a foreach a
  • PDF 到 bmp 图像(12 页 = 12 张图像)

    我必须逐页解构 提取 pdf 为位图图像 这将通过我设置的网络服务在服务器上完成 我怎样才能做到这一点 它必须一页一页地显示 每张图像一页 我真的很困惑 我知道你们中的一位天才已经找到了我一直在寻找的答案 我努力了 http www pdf
  • IntelliJ IDEA:“无法解析 String、System 和其他 Java 类的符号”

    我最近将 IntelliJ IDEA 下载到另一台计算机上 在一台计算机上它工作正常 在另一台计算机上它给了我这个当前问题 当我使用模板打开一个新项目时 它会自动在各处显示错误 即使它允许代码运行并正确显示输出 标准 Java 库类 例如S
  • 机械化如何获取当前 url

    我有这个代码 require mechanize agent Mechanize new page agent get http something com page 1 next page page link with href gt p
  • Docker Tomcat容器无法访问Postgres容器

    我有一个带有 postgres 的 alpine docker 带有监听地址 并监听 5432 我正在使用它进行部署 docker run d name postgres me postgres v1 以及带有 oracle jre8 的
  • Sequelize 在查询中返回连接表

    我的 MSQL 表中这两个模型之间存在多对多关系 场所 代表可以有多个所有者 员工 的场所 员工 代表员工 可以是首席执行官或销售员工或任何其他人员 我在用续集 questions tagged sequelize像这样建立关系 关系员工
  • sed 命令中的破折号 e(-e) 是什么意思?

    我是 sed 的新手 总是在输入文件上执行一个命令 最近我尝试使用 e 要处理多个命令 但我无法弄清楚它是如何工作的 默认打印非常烦人 所以我无法弄清楚命令的执行顺序 sed e command 1 e command 2 input tx
  • 原子整数incrementAndGet()线程安全吗?

    原子整数incrementAndGet 方法线程安全吗 我没有看到其中使用同步关键字 我使用以下代码来生成唯一 ID public enum UniqueIdGenerator INSTANCE private AtomicLong ins
  • python:读取json并循环字典

    我正在学习 python 我像这样循环将 json 转换为字典 它可以工作 但这是正确的方法吗 谢谢 import json output file open output json read output json json loads
  • 启动集群时在 EMR 上配置 Zeppelin 的 Spark 解释器

    我正在 EMR 上创建集群并配置 Zeppelin 以从 S3 读取笔记本 为此 我使用一个 json 对象 如下所示 Classification zeppelin env Properties Configurations Classi
  • 无法使用 PowerMockRunner 运行 JUnit 测试

    我有一个基于 Gradle 的 Java 项目 我现在想使用 PowerMock 模拟私有方法 问题是我无法使用 PowerMockRunner 因为当我添加 RunWith org powermock modules junit4 Pow
  • 逻辑表达式解析器

    我正在尝试为以下表达式创建一个逻辑表达式解析器 变量A gt 变量B 而不是变量C 对于给定的变量值 解析器应该能够返回结果是 true 还是 false 基本上 表达式仅包含变量 逻辑运算符 或 与 蕴涵 等价 否定和括号 我想问实现这种