从 ANTLR 生成 EBNF

2023-12-30

有人知道从 ANTLR 生成 EBNF 的工具吗? ANTLR 已经接近 EBNF,但出于文档目的,我希望有一个干净的 EBNF 描述(中间没有代码)。

有了antlrworks,就可以得到语法图了:

java -cp antlrworks-1.1.4.jar org.antlr.works.Console -f yql.g -o output/ -sd eps

但它希望有一个简单的文本描述,最好是文本、tex、html、xml 或类似的文本。


我有一个在线工具 http://bottlecaps.de/convert/将外国语法转换为 W3C 语法符号。它有一个 ANTLR3 语法解析器,所以这可能接近您正在寻找的内容。 W3C 符号也适用于生成语法图 http://bottlecaps.de/rr/ui.

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

从 ANTLR 生成 EBNF 的相关文章

  • 如何管理 ANTLR 中的可选空白?

    我正在尝试解析 ANTLR 中的数据文件 它有可选的空格 例如 3 6 97 12 15 18 下图显示了线的起点和终点 末尾有一个换行符 并且没有制表符 3 6 97 12 15 18 我的语法是 lines line line ws1
  • Antlr 外部输入

    我有一个语法文件 BoardFile g4 其中包含 仅相关部分 grammar Board Tokens GADGET squareBumper circleBumper triangleBumper leftFlipper rightF
  • ANTLR 解析器生成器最适合内存有限的 C++ 应用程序吗?

    我正在寻找一个好的解析器生成器 我可以用它来读取我们的大型商业应用程序中的自定义文本文件格式 目前 这种特定的文件格式是使用手工递归解析器读取的 但该格式已经发展和复杂化到该方法变得难以管理的程度 看来最终的解决方案是为这种格式构建正确的语
  • 使用 javax.lang.model 或 ANTLR JavaParser 获取 Java 源代码信息的示例/教程

    我想为简单的 Java 逻辑创建一个自动的类似流程图的可视化 为此我需要解析 Java 源代码 我有 2 个候选者 ANTLR http www antlr org and javax lang model http download or
  • 在侦听器中使用 ParserRuleContext 遍历令牌 - ANTLR4

    在使用侦听器迭代令牌时 我想知道如何使用 ParserRuleContext 来查看令牌流中的下一个令牌或接下来的几个令牌 在下面的代码中 我试图查看当前标记之后直到 EOF 的所有标记 Override public void enter
  • 为什么 ANTLR4 不匹配单词“of”和标点符号“,”?

    我有一个Hello g4带有语法定义的语法文件 definition wordsWithPunctuation words WORD wordsWithPunctuation word word punctuation word word
  • ANTLR如何在输入结束时检测垃圾数据

    当使用 ANTLR 编写的语法时 解析器可以正确识别输入流中的数据 但如果我在输入末尾有一些垃圾文本 不应该由语法解析 解析器不会抱怨 我想这种行为是可以的 我的意思是解析器完成了它的工作并解析了我所说的它应该解析的任何内容 但是有什么技巧
  • ANTLR 4 树注入/重写运算符

    在 ANTLR 3 中您可以执行以下操作 andExpression andnotExpression gt andnotExpression AND a andnotExpression gt AndNode andExpression
  • 可视化使用 ANTLR 创建的 AST(在 .Net 环境中)

    为了一个我喜欢的项目 我开始摆弄 ANTLR 在学习了一些教程之后 我现在尝试为我自己的语言创建语法并生成 AST 现在我主要在 ANTLRWorks 中闲逛 但现在我已经验证了解析树似乎没问题 我想 迭代地 因为我仍在学习 仍然需要对最终
  • xtext 中的终端/数据类型/解析器规则

    我正在使用 xtext 2 4 我想做的是类似 SQL 的语法 让我困惑的是我不确定哪些东西应该被视为终端 数据类型 解析器规则 到目前为止我的语法相关MyTerm is Model terms MyTerm MyTerm constant
  • 编写对空格敏感的解析器规则,同时从词法分析器中跳过 WS

    我在处理空白时遇到一些麻烦 在以下语法摘录中 我设置了词法分析器 以便解析器跳过空格 ENTITY VAR user resource INT DIGIT DIGIT ID LETTER LETTER DIGIT SPECIAL ENTIT
  • Antlr4-JS 语法中的操作:如何访问令牌和定义函数? (直接在java中,而不是在JS中)

    我正在努力适应 JS 目标本书的Expr g4 https pragprog com titles tpantlr2 source code 在这个例子中 动作直接在语法中 它们包括 parser members 中定义的实用函数 这些函数
  • 将 xtext 编辑器支持与外部 ANTLR 解析器链接起来

    我当前的项目 将其命名为 IoTSuite 采用高级规范 解析它们 并生成 Java 和 Android 代码 在这个项目中 我编写了 ANTLR 语法来解析高级规范 并使用 StringTemplate 作为代码生成器 然而 由于良好的编
  • 在 ANTLR 3 中,如何在运行时而不是提前生成词法分析器(和解析器)?

    我想在运行时生成 antlr 词法分析器 也就是说 生成语法并从语法生成词法分析器类及其在运行时的支持位 我很高兴将它输入到 java 编译器中 它可以在运行时访问 这是一种快速但肮脏的方法 生成一个combined ANTLR 语法 g给
  • ANTLR @header、@parser、superClass 选项和基本文件 io (Java)

    我想将解析器操作与基本文件 io Java 一起使用 例如 G ANTLR 语法中的 PrintWriter 我必须使用 superClass 选项还是可以使用 header 在这两种情况下 我如何声明 PrintWriter 对象以及如何
  • ANTLR4 相当于什么!在词法分析器规则中?

    我正在努力将旧的 ANTLR 2 语法转换为 ANTLR 4 但我在字符串规则方面遇到了问题 STRING r n 这创建了一个STRING其文本包含字符串内容的标记 但是不含开始和结束引号 因为 引号文字后面的符号 ANTLR 4 扼流圈
  • 使用 ANTLR 解析时忽略输入的某些部分

    我正在尝试通过 ANTLR ANTLRWorks 3 5 2 解析语言 目标是输入完整的输入 但 Antlr 给出语法中定义部分的解析树并忽略其余输入 例如这是我的语法 grammar asap project begin PROJECT
  • 编程语言解析器的来源?

    我正在清理我的一个旧项目 该项目计算有关大型软件项目的许多简单指标 指标之一是文件 类 方法的长度 目前 我的代码 猜测 类 方法边界的位置基于非常粗略的算法 遍历文件 维护 当前深度 并在遇到未加引号的括号时调整它 当您返回到类或方法开始
  • 自动解析 PHP,将 PHP 代码与 HTML 分离

    我正在开发一个大型 PHP 代码库 我想将 PHP 代码与 HTML 和 JavaScript 分开 我需要对 PHP 代码进行多次自动搜索和替换 对 HTML 进行不同的搜索和替换 对 JS 进行不同的自动搜索和替换 有没有一个好的解析器
  • ANTLR 获取并拆分词法分析器内容

    首先 对我的英语感到抱歉 我还在学习 我为我的框架编写 Python 模块 用于解析 CSS 文件 我尝试了 regex ply python 词法分析器和解析器 但我发现自己在 ANTLR 中 第一次尝试 我需要解析 CSS 文件中的注释

随机推荐

  • 使用 Spring Security 处理成功的登录事件

    我的 Grails 应用程序使用 Spring Security 插件 每当用户成功登录时我想要 在会话中存储一些东西 将他们重定向到自定义页面 取决于他们的角色 我需要类似地处理注销事件 这非常简单 因为该插件提供了一个名为的 beanl
  • git.cmd 与 git.exe - 有什么区别以及应该使用哪一个?

    我粗略地认为 git cmd 只是一个包装器 但默认添加到 PATH 中 但我发现 git exe 也可以工作 我打算用它作为解决方法issue http code google com p msysgit issues detail id
  • SwiftUI:扩大/缩小列表单元格

    我正在开发 SwiftUIList可以扩展 收缩的单元格 这是您在很多情况下都可以看到的非常简单的东西 类似下面的东西 以下是在UIKit 老实说 我正在努力在 SwiftUI 上实现同样的功能 我尝试了几种方法 1 第一种方法 有条件地包
  • 手动从 CI 中删除工件

    我在 gitlab com 有一个使用 CI 功能的私有存储库 一些 CI 作业会创建存储的工件文件 我刚刚通过将以下内容添加到 CI 配置来实现一天后自动删除工件 expire in 1 day 这很好用 但是 旧的工件不会被删除 如预期
  • 让你的Jar不被反编译

    如何将我的 Java 应用程序打包到无法反编译的可执行 jar 中 例如 通过 Jadclipse 你不能 如果 JRE 可以运行它 应用程序就可以反编译它 您所能期望的最好结果就是让它变得非常难以阅读 用 l 和 1 以及 O 和 0 的
  • Typescript 不会抱怨缺少导入

    foot ts 的内容 let a Person new Person bar ts 的内容 class Person tsconfig json 文件包含由以下命令创建的默认值集tsc init 我正在使用打字稿版本 2 6 2 上面的代
  • Node.js res.send 不是一个函数

    我正在尝试以下代码 但它给了我一个错误 res send 不是函数 请帮我 这是代码 var http require http var fs require fs var connect require connect var expre
  • 0x80端口地址连接到什么?

    当发送命令并从某个芯片 例如RTC 读取数据时 不同的文档都说我们应该等待一段时间才能从设备读取数据以确保数据可用 许多代码片段都会从端口进行虚拟读取0x80 我想知道这个地址位置连接到什么设备 如果有 我说的是 IA 32 PC 架构 I
  • XMPP可以像Comet的http long wait那样使用吗?

    Can XMPP http en wikipedia org wiki Extensible Messaging and Presence Protocol以类似的方式应用反向阿贾克斯 http en wikipedia org wiki
  • C++ 运行时 N 个嵌套向量

    在 C 中 有或没有 boost 如何创建 N 维向量 其中 N 在运行时确定 大致如下 PROCEDURE buildNVectors int n std vector lt n dimensional std vector gt str
  • C# 中的 setjmp/longjmp。是否可以?

    当我需要转到本地范围时 我遇到了一个问题 if DoSomethingHere if goto Label else if Label DoSomethingHereToo 这在 C 中显然是不可能的 是的 我知道使用 goto 被认为是一
  • 检查 div 是否确实溢出和/或有滚动条

    我们有一个页面 div style height 400px div 滚动条时也是如此 因此仅此一项不会削减它 编辑 你们太快了 谢谢 我会研究这些建议 再次感谢 if myDiv 0 scrollHeight gt myDiv inner
  • MVC4如何动态添加行项目到EditorFor字段?

    我有一个包含迭代项目的视图模型 我通过 EditorFor 方法将它们放置在我的视图中 View model Models MyModel using Html BeginForm Model Action Model Controller
  • C# 中按大小错误对文件进行排序

    我在排序文件时遇到了一些问题 我的程序应该允许我按大小和日期对目录中的文件进行排序 日期工作正常 但当我尝试按大小排序时 它返回错误 这是我的相关代码 if orden Equals tam ficheroo dirInfoo GetFil
  • 手动使 C# 线程超时

    我需要为长时间运行的线程添加超时 我们遇到一些外部问题 有时会导致该线程无限期地挂在某一行代码处 为了使我们的进程更加健壮 我们希望检测线程不再主动运行 轮询并中止该线程 这将使我们清理资源并重新启动线程 添加此功能的首选方法是什么 首选方
  • ARM Linux 上的“回溯已停止:前一帧与此帧相同(堆栈损坏?)”

    我正在尝试在 Linux ARM 架构 上运行应用程序时调试段错误 我复制了核心转储文件并尝试在 x86 64 主机上使用arm gdb 获取回溯 这是o p arm arago linux gnueabi gdb test slave6
  • 用于Linux内核开发的发行版[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 这是学习 Linux 内核开发的最佳轻量级发行版 它应该有很多可用的调试和分析工具 LFS http
  • 在react-native上使用styled-components,如何计算组件的高度?

    使用样式组件 我需要根据屏幕尺寸计算组件的高度 如下所示 const ForgotPasswordContainer styled View height calc 100 20px 这样使用是不行的 样式组件不支持基于百分比的高度值 使用
  • 确定链接服务器的 SQL Server 版本

    这里有人知道我如何通过使用 TSQL 语句来确定链接服务器上运行的 SQL 版本吗 我正在运行 SQL2005 我的链接服务器正在运行 sql2000 2005 和 2008 的混合 select from openquery MyLink
  • 从 ANTLR 生成 EBNF

    有人知道从 ANTLR 生成 EBNF 的工具吗 ANTLR 已经接近 EBNF 但出于文档目的 我希望有一个干净的 EBNF 描述 中间没有代码 有了antlrworks 就可以得到语法图了 java cp antlrworks 1 1