问题标签 [gold-parser]

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.

0 投票
3 回答
3053 浏览

parsing - Gold Parsing System - 它在编程中可以用来做什么?

我已阅读 GOLD 主页 ( http://www.devincook.com/goldparser/ ) 文档、常见问题解答和维基百科,以了解 GOLD 可能有哪些实际应用。我一直在考虑为我的系统(例如 SAP 上的 ABAP 或 Axapta 上的 X++)提供一种编程语言(很容易)——但它对我来说并不可行,至少不容易——即使你使用 GOLD。

GOLD 生成的解析结果的最终用途让我无法理解 - 你如何处理解析的结果?

编辑:一个实际的例子(描述)会很棒。

0 投票
3 回答
889 浏览

gold-parser - BNF 语法 + Gold LALR 解析器,无法区分特殊情况 NewLine 和 Whitespace

  • 我想将空格和换行符视为普通空格。
  • 我想将换行符与其他空格区分开来,以允许特殊情况。

第一次尝试编写合规语法失败。

这是语法:

0 投票
1 回答
2345 浏览

gold-parser - GOLD Parse,您如何实际实现您的代码?

我不太确定如何在生成骨架后实现我的代码。我没有只使用 const,我确实有主文件,并且我尝试了几个 c(++) 版本以及 c#,但我仍然不明白。我不认为他们中的任何一个都可以加载文件并解析测试文件(我知道黄金生成器可以解析我的测试文件)。

Kessels C 骨架看起来很完整。但不是,它使用结构和成员(Token->Reduction->TokenStack)但是当我搜索 TokenStack 时,我找不到定义它的地方,只能使用。我觉得我错过了什么。我在任何地方都找不到 Kessels 的其他代码。

我的问题是我如何实现我的身体?(有没有你更喜欢的骨架),还有其他我忽略的下载吗?我尝试查看这些下载,但我不明白如何处理它们。它看起来更像是示例源代码,然后是模板http://www.devincook.com/goldparser/engine/c/index.htm

PS:我不介意做一个 C# 实现,我用 c(++) 更好。

0 投票
2 回答
576 浏览

bnf - 黄金解析器中的错误?LALR

这是我的 bnf 语法的一部分。

这看起来很疯狂,第二个不应该与第一个完全相同吗?我在阅读时更喜欢第二个 bc,我发现我期望一个 bool 值与通用的 rval 相反,这可能意味着任何事情。

我正在使用黄金解析器 3.4.4

0 投票
1 回答
1087 浏览

parsing - 我可以改进这个 GOLD 解析器语法吗?

我必须解析一个看起来像这样的文件:

我有一个从头开始编写的解析器,但它有一些我无法追踪的错误,我想如果将来格式发生变化,它会很难维护。我决定改用 GOLD 解析系统来生成解析器。我的语法如下所示:

没有错误,它可以很好地解析我的 2000 行测试文件。但是,这是我第一次编写自定义语法,所以我不确定我是否做得正确。

我可以对上面的语法进行任何改进吗?

0 投票
1 回答
428 浏览

parsing - HL7 (HL7.org) 消息格式是否可表示为具有 LALR(1) 兼容性的 BNF?

将此作为新消息重新发布(最初我要求提供 HL7 的 BNF 语法)。虽然可以将所有 HL7 表示为 BNF,但我需要我的 BNF 是 LALR(1) 投诉(完全确定性)。Devon Cooks Gold Parser 是工具集。

只是想在我自己开始创建 BNF 之前我会问...

0 投票
1 回答
577 浏览

parsing - 使用 Gold Parser 和 Klimstra 引擎的模板类

我正在使用 GOLD 解析器的“创建骨架程序”中的 Klimstra 的 VB.NET 模板,但生成的模板具有带有 overrides 关键字的方法并继承自TemplateParser..

我应该创建 TemplateParser 类还是有创建它的工具?我认为“创建骨架”函数创建了一个模板,我应该继承并为“MustOverride”方法提供实现,但现在我不知道。

我正在关注一个教程,看起来我们必须使用工具创建它,但我不确定。我不知道该教程是否非常过时(它的日期为 2005 年)并且 GOLD 解析器改变了这种机制。这是我正在关注的教程:http: //www.codeproject.com/KB/recipes/IntrotoGoldParser.aspx

0 投票
2 回答
4199 浏览

parsing - VBScript 部分解析器

我正在尝试创建一个 VBScript 解析器。我想知道最好的方法是什么。我研究过,研究过。最流行的方法似乎是使用 Gold Parser 或 ANTLR 之类的东西。

我要实现的功能是动态检查 VBScript 中的语法错误。我不想每次更改某些文本时都编译整个 VBS。我该怎么做呢?我尝试使用 Gold Parser,但我认为没有增量方法可以通过它进行解析,比如部分解析树......关于如何为这种场景实现部分解析树的任何想法?

我已经通过 GOLD Parser 实现了 VBscript 解析。但是它仍然不是部分解析器,在每次文本更改后解析整个脚本。有没有办法建造这样的东西。

谢谢

0 投票
2 回答
307 浏览

c++ - 哪个 Parser 可以解析 poker-log 文件,哪个是最简单和最好的?(需要 Spirit 的替代品。Gold Parser、ANTLR 或 ...)

我必须解析一些扑克手历史文件、日志文件。

内容是这样的:

玩家名下注 100 美元

我需要的只是名称、操作(作为令牌)和金额。

问题是名称还可以包含操作和空格。

示例:玩家下注 100 美元

我试图让它与 GoldParser 和 ANTLR 一起工作。拿不到...

使用 Boost::spirit 没有问题,它可以工作。唯一不好的是我的整个扑克语法的编译时间太棒了,需要 20 分钟。

我看到 ANTLR (C-Api) 和 GoldParser 在编译时间上要好一些。

如果有人可以发布有关如何使用 Goldparser 获取信息的提示,那就太好了。

非常感谢!!!!

0 投票
1 回答
608 浏览

grammar - GOLD Parser:ANSI-C 语法实际上并未解析 ANSI-C?

我正在尝试测试 GOLD Parser 网站上提供的 ANSI-C 语法。我似乎无法完全解析最小的 C 文件。

例子:

它找到 int 作为一个类型,然后 test_inc1 作为一个 Id,然后括号正确但在第二个 ) 之后,它期待一个 ; 代替 {。所以它会引发语法错误。我对所有这些语法时髦都很陌生。我只是想将我的代码解析为 AST :(