问题标签 [bnf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 是否有生成不需要生成解析器运行时的 DSL 解析器的工具?
我目前正在使用 DSL 做很多工作,想知道是否有人知道可以为我的 bnf 规范生成不需要运行时库(纯 java 源解析器)的解析器的工具?
我致力于将 XTEXT 用于未来的 Eclipse 插件,但我需要为我的库本身提供一个不错的小版本,并且不想添加另一个 jar 依赖项。
似乎 ANTLR 需要运行时来解析文件,我执行了谷歌搜索但无济于事。任何人都可以帮忙吗?
谢谢,
克里斯
c - C中的字符串操作
我正在帮助我的侄子完成他的 C 实验室作业,这是一个字符串操作作业并应用了 Wang 的算法。
这是输入的 BNF 表示。
在 C 中处理和解析这种输入的最佳实践是什么?如何在不使用的情况下解析此结构struct
?提前致谢。
parsing - BNF 处理转义序列
我使用这个 BNF 来解析我的脚本:
它可以正确地将以下文本解析为树结构
我的问题是,如何处理字符串文字中的转义序列:
parsing - 逗号分隔的函数调用参数的解析器表达式
我正在编写一个解析器,它可以解析像myfunc1()
,myfunc2(param1)
和myfunc3(param1, param2)
(带有未知数量的参数)这样的表达式。现在我正试图让我的解析表达式正确。我正在使用Lemon Parser Generator。这是我想出的:
暂时不要介意花括号的内容。该params
定义允许空参数(彼此之后的几个分隔符),目前可以。但是我将如何更改定义以强制非空参数但仍然让所有参数由SEPARATOR
令牌分隔?
language-agnostic - Turbo Pascal 的 BNF / EBNF(最好是 5.5 或更高版本,因为 OOP)?
你们有谁知道 Turbo Pascal 的 BNF 或 EBNF 是否在某处可用(合法!!)?
antlr - ANTLR,如何在 ANTLR 中转换 BNF、EBNF 数据?
我必须生成 CSV 数据的解析器。不知何故,我设法为 CSV 数据编写了 BNF、EBNF,但我不知道如何将其转换为 ANTLR 语法(这是一个解析器生成器)。例如,在 EBNF 中,我们编写:
但是当我在 ANTLR 中编写它来生成解析器时,它给出了一个错误并且不带括号。我不是ANTLR专家,有人可以帮忙吗?
parsing - 我可以改进这个 GOLD 解析器语法吗?
我必须解析一个看起来像这样的文件:
我有一个从头开始编写的解析器,但它有一些我无法追踪的错误,我想如果将来格式发生变化,它会很难维护。我决定改用 GOLD 解析系统来生成解析器。我的语法如下所示:
没有错误,它可以很好地解析我的 2000 行测试文件。但是,这是我第一次编写自定义语法,所以我不确定我是否做得正确。
我可以对上面的语法进行任何改进吗?
concurrency - 在巴科斯-瑙尔形式中,定义符号时逗号“,”是什么意思
我对 Pi-Calculus 的了解与对 Backus Naur Form 的了解一样多。这是 Pi Calculus 的核心 BNF 之一(在 Peter Sewell 的“Applied Pi - A Brief Tutorial”中找到)
事实上,我专注于学习 Pi 微积分。但我确实想知道 BNF 定义中 P,Q ::= 的含义。
我会理解 P ::= 意味着 Pi 演算的过程 P 是这个或这个或这个。但是 P,Q ::= 代表什么?
bnf - HL7 2.5 的完整 BNF 语法
我只是想知道是否有人拥有 HL7 2.5 的完整 BNF?我希望使用黄金解析器引擎编译它,但很乐意从 EBNF 或供应商特定的 BNF 转换。