组合的解解析器/解析器生成器

2024-02-09

是否有一个解析器生成器也实现了相反的方向,即从相同的语法规范中解析域对象(又名漂亮打印)?据我所知,ANTLR不支持这个。


我已经用 Java 和 Kotlin 实现了一组可逆解析器组合器。解析器几乎是用 LL-1 风格编写的,它提供了解析方法和打印方法,其中后者提供了漂亮的打印机。

您可以在这里找到该项目:https://github.com/searles/parsing https://github.com/searles/parsing这是一个教程:https://github.com/searles/parsing/blob/master/tutorial.md https://github.com/searles/parsing/blob/master/tutorial.md这是一个用于数学表达式的解析器/漂亮的打印机:https://github.com/searles/parsing/blob/master/src/main/java/at/searles/demo/DemoInvert.kt https://github.com/searles/parsing/blob/master/src/main/java/at/searles/demo/DemoInvert.kt

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

组合的解解析器/解析器生成器 的相关文章

  • 读取输入文件的部分内容

    我想读取 C 中的输入文件 其结构 或缺乏 将类似于一系列带有以下内容的行 文字 数字 例如 input1 10 input2 4 set1 1 2 set2 1 e3 我想把这个号码从队列中取出 然后把剩下的扔掉 数字可以是整数或双精度数
  • C# 中的 DateTime.Parse 抛出异常

    我不知道为什么抛出异常 这是工作代码 DateTime Parse 1 12 2012 12 00 00 AM 这是抛出异常的一个 DateTime Parse 1 13 2012 12 00 00 AM 抛出的异常是 格式异常 包括此消息
  • 解析器生成

    我正在做一个项目软件抄袭检测 我打算用C语言来做这件事 因为我应该创建一个令牌生成器和一个解析器 但我不知道从哪里开始 任何人都可以帮助我解决这个问题 我创建了一个令牌数据库 并将令牌与我的程序分开 接下来我想做的就是比较两个程序以查明它是
  • 分析 ELF 部分和符号大小的工具

    我需要一种方法来分析 ARM 的 GCC 编译器的输出文件 我正在为裸机进行编译 并且我非常关心大小 我可以用arm none eabi objdump由交叉编译器提供 但如果存在用于此任务的工具 则解析输出并不是我渴望做的事情 您知道存在
  • 在 ANTLR4 中如何检查行的第一个字符是否为“*”?

    我正在尝试为一种相对简单但特殊的语言编写一个解析器 简单地说 规则之一是注释行用星号表示only如果该星号是该行的第一个字符 我如何在 ANTLR4 中正式化这样的规则 我考虑过使用 START LINE COMMENT n n gt sk
  • 自动解析 PHP,将 PHP 代码与 HTML 分离

    我正在开发一个大型 PHP 代码库 我想将 PHP 代码与 HTML 和 JavaScript 分开 我需要对 PHP 代码进行多次自动搜索和替换 对 HTML 进行不同的搜索和替换 对 JS 进行不同的自动搜索和替换 有没有一个好的解析器
  • 使用 js-xlsx 解析 Excel 工作表

    我正在尝试解析用户指定的目录中的所有 Excel 文件 但js xlsx我正在使用的库似乎需要手动导航 var url test files test xlsx lt Located in the project directory var
  • 如何使用 SAX Java 解析器读取注释文本

    我只想使用 Java 中的 SAX 解析器读取 XML 文件中对象标记的注释 这是我的文件的摘要
  • 构建一个简单的解析器,能够使用 PyParse 解析不同的日期格式

    我正在构建一个简单的解析器 它接受如下查询 显示 fizi 从 2010 年 1 月 1 日到 2006 年 2 月 11 日的提交 到目前为止我有 class QueryParser object def parser self stmn
  • Parse::RecDescent 语法未按预期工作

    我所能做的就是 STRING PARAMS VARIABLE 和 FUNCNAME FUNCTION 似乎有问题 但我就是看不到它 use strict use Parse RecDescent RD ERRORS 1 Make sure
  • 预处理后解析 C++ 源文件

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

    我正在将 parse 用于我的聊天应用程序 当我上传文件时 我保留该 url 并将该 url 发送给其他用户 然后其他用户可以通过该 URL 下载文件 这是我上传文件的代码 void uploadBlob NSData blob fileN
  • python 3 argparse 调用函数

    我想在 python3 中创建一个类似命令行 类似 shell 的界面 Argparse 似乎负责解析和显示帮助 错误消息 根据argparse 的 python3 文档 https docs python org 3 5 library
  • 在Python中连续解析文件

    我正在编写一个脚本 该脚本使用 HTTP 流量行解析文件 并取出域 目前仅将它们打印到屏幕上 我正在使用 httpry 将流量连续写入文件 这是我用来删除域名的脚本 usr bin python import re input open r
  • 将 Java 字符串转换为 sql.Timestamp

    收到以下格式的字符串 YYYY MM DD HH MM SS NNNNNN 时间戳来自 DB2 数据库 我需要将其解析为 java sql Timestamp 并且不丢失任何精度 到目前为止 我一直无法找到现有的代码来解析远至微秒的数据 S
  • 无论如何要抓取重定向的链接吗?

    无论如何 我可以让 python 单击一个链接 例如 bit ly 链接 然后抓取生成的链接吗 当我抓取某个页面时 我唯一可以抓取的链接是重定向的链接 它重定向到的位置就是我需要的信息所在的位置 重定向有 3 种类型 HTTP 作为响应标头
  • Java 库有 parseInt、parseLong、parseDouble 等接受默认值并且不抛出异常吗?

    我喜欢中的建议java中的String到Int 可能是坏数据 需要避免异常 https stackoverflow com questions 174502 string to int in java likely bad data nee
  • PHP DOM - 剥离 span 标签,保留其内容

    我希望采用如下标记 span class test Some text that is strong bolded strong and contains a a href link a span 并在 PHP 中找到剥离跨度的最佳方法 剩
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • 使用 ANTLR 验证 LL(1) 语法

    我知道 ANTLR 可以接受 LL 语法 但是 有什么方法可以使用 ANTLR 检查语法是否是 LL 1 吗 options k 1 如果你的语法不在 LL 1 中 它会发出警告

随机推荐

  • 在 Visual C++ 6.0 中查找源文件的预设位置

    由于我们的一些代码是遗留的 我们仍在使用 Microsoft Visual 6 0 SP6 当我第一次附加到正在运行的进程来调试它时 它不知道我闯入该进程时源文件所在的位置 因此 它要求我在给定源文件名的情况下导航到源树中的适当目录 它记住
  • 未指定输入文件 - apache 和 php-fastcgi

    我客户的网站当前运行在带有 mod php 的 apache 服务器上 所有应用程序的路由都在 htaccess 文件中定义 请参阅下面的代码 现在他正尝试迁移到运行 apache 和 php fastcgi 的服务器 但路由不再有效
  • 从 XML 到 XML 文档的 XSLT 转换

    我需要帮助才能获得正确的 XSL 转换 我希望按原样复制源 XML 并对目标 XML 文件进行所需的更新 现在我正在尝试两件事 第一是将源复制到目标 XML 第二是更新根元素的命名空间 URL 和版本属性 请找到下面的代码 让我知道出了什么
  • 如何在 Python 中使用 OpenCV 泛化轮廓手写字符?

    我尝试从图像中检测并裁剪手写字符 某些字符可以被识别并包含在矩形中 但对于其他字符 相同的参数不起作用 我怎样才能概括它 原始图像 https i stack imgur com nvCXT png import cv2 import nu
  • 如何将测试输出设置为控制台而不是 gradle 中的 html for specs2

    我使用 specs2 scala 进行单元测试并使用 gradle 进行构建 默认情况下 单元测试输出到 html 文件 我想让输出直接输出到标准输出 就像 sbt 一样 有谁知道魔法咒语吗 谢谢 翅膀 您可以使用 test makes t
  • 使用 mod_rewrite 在 PHP 中重写 URL

    Web 服务器是 Apache 我想重写 URL 这样用户就不会知道实际的目录 例如 原网址 http www example com en piecework piecework php piecework id 11 预期网址 http
  • 如何关闭使用 FB.ui() 打开的 facebook SDK 对话框?

    我成功显示了邀请好友对话框 代码如下所示 当用户单击 跳过 时 iframe 对话框会显示一个新页面 但是从现在起我找不到关闭 iframe dialog 的方法 FB ui 不返回任何对象 似乎没有 Javascript SDK 方法 并
  • 在 Linux 上,命令行程序 mktemp 是否不如 C 函数 mkstemp 安全?

    这两个操作都会创建一个空文件并返回文件名 但 mkstemp 使文件以独占模式打开并为您提供句柄 C 功能有安全优势吗 这是否意味着命令行版本存在安全漏洞 顺便说一句 有趣的是 Linux 上的 C api 中有几个相关函数 其中大多数在其
  • 在运行时从指向基类的指针获取对象的类型

    我正在使用一个类库 其中所有类都直接或间接派生自基类Base并有一个名字 该库提供了按名称搜索对象的功能 该功能将返回Base 有没有办法在不检查所有可能性的情况下找到返回对象的类型dynamic cast就像我在下面的例子中所做的那样 如
  • firebase unauth 与 google 不允许更改用户

    在 Google 项目或 Firebase 数据库中是否有一个设置用于指定 unauth 不应缓存用户凭据 我已经通过 Firebase Google 身份验证登录了我的应用程序 调用 unauth 不允许我使用其他帐户再次登录 此后尝试登
  • 在 django 中,我可以在检索查询集之前在序言中设置变量吗?

    我需要根据用户定义的步幅对数据点进行不同的分组 并且我希望最大限度地减少与 django 交互的代码中的原始 SQL 数量 问题 我可以在MySQL中创建带参数的视图吗 https stackoverflow com questions 2
  • 在Videoview中旋转实际的视频缓冲区

    我目前正在开发一个专门针对 android 的 GoogleTV 设备的应用程序 其中使用或强制应用程序的方向为横向以外的任何方向都未启用 并且根据我的设想 将来也不会启用 实际上该应用程序只是崩溃了试图跑步setRequestedOrie
  • 在使用递归模板表示的 n 元树中放置元素时,角度拖放不起作用

    我对有角度的材料拖放不熟悉 我的应用程序正在使用 n 叉树 并且由于我不知道它的先验形式 因此我被迫使用递归模板来表示它 在过去的几天里 我一直在尝试使用 Angular 材质拖放来重新排序兄弟姐妹 如果我删除根节点 一切都会正常工作 但我
  • Flash 无法在沙箱属性内的 iframe 中工作

    我用过iframe显示一些页面 这些页面可能包含adobe flash内容如视频 我的问题是abode flash不执行在iframe在沙箱属性内 我的iframe tag 简短的回答 您无法在沙盒 iframe 中执行 flash 插件
  • 如何让 Docker 容器在本地主机上运行时相互通信?

    我的 MacBook 上有一个完全本地运行的 Web 应用程序 Web 应用程序有一个前端 Angular Javascript 和一个实现 RESTful API 的后端 Python Django 我对后端进行了 Docker 化 使其
  • Google App Engine Servlet 中的 ResourceBundle 未按预期工作

    有人可以帮助我理解为什么使用国际化ResourceBundle在 Google App Engine Servlet 中的工作方式与在命令行 Java 应用程序中的工作方式不同吗 以下片段 ResourceBundle resource e
  • 如何查看本地文件系统上的 Jenkins 服务器控制台输出?

    我正在使用 Jenkins Active Directory 插件 多次尝试后仍无法登录 错误消息显示 If you are a system administrator and suspect this to be a configura
  • Octave 中的 1-of-K 编码

    我正在尝试在 Octave 中获取整数向量的二进制 K 编码 我有一个向量y say y 1 2 3 1 3 我想要一个矩阵 Y 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 我可以手动构造一个 K 矩阵 Y Y Y y 1
  • 如何在opencv或emgu cv中检测三角形边缘?

    我使用Emgu CV 我想检测图片中的两个锐点 首先我将图像转换为灰度 然后调用cvCanny 然后调用FindContours 但只找到一个轮廓 没有找到三角形 Code public static void Do Bitmap bitm
  • 组合的解解析器/解析器生成器

    是否有一个解析器生成器也实现了相反的方向 即从相同的语法规范中解析域对象 又名漂亮打印 据我所知 ANTLR不支持这个 我已经用 Java 和 Kotlin 实现了一组可逆解析器组合器 解析器几乎是用 LL 1 风格编写的 它提供了解析方法