问题标签 [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 投票
0 回答
196 浏览

parsing - VBScript 解析器语法:数组赋值建模

我正在编写 GoldParser VBScript 语法。在我的语法数组赋值语句中,例如id(1) = 2不被解析为赋值语句,而是作为调用语句id ((1) = 2)(= 符号可以是赋值运算符和比较运算符)。如何更改以下语法以正确解析数组赋值语句?

注意:我添加了 IDDot 终端以With正确解析语句,例如:.obj.sub .obj.par1.

0 投票
1 回答
634 浏览

parsing - 包含注释的 GOLD 解析器

我正在开发一个将一种语言转换为另一种语言的项目,并且正在使用 GOLD Parser。我需要能够在我的转换中包含评论,因为我们不想失去这些。问题是 CommentLine 和 CommentBlock 被视为噪音并被捕获并丢弃。是否有一种简单的方法可以关闭此行为,以便在阅读评论时将其发送到树的其余部分,以便我可以像对待任何其他语句一样对待它?

如果没有,有人可以帮助我将 CommentLine 转换为规则,在解析时将被视为任何其他语句?我正在使用 GOLD Parser 网站上的 VBScript 语法:

在这一点上,我唯一的其他选择是当我的引擎读取注释标记时,获取原始数据和源行号,并将其放入字典中,然后我可以在处理其他标记时引用它。这是可行的,但可能会变得混乱。

0 投票
1 回答
142 浏览

bnf - 如何正确地将 BNF 转换为 GoldParser?

假设我在 BNF 中有这个:

有什么办法可以翻译成 Gold-Parser 吗?没有像这样分解它:

旁注:如果有人有更好的标题/更多标签,请编辑它,谢谢!

0 投票
1 回答
254 浏览

delphi - 使用 Gold Parser 解析项目和包文件 --help 需要“IdList”

我正在涉足Object Pascal Engine(由 Rob van den Brink 编写),它似乎(除了一些小且易于纠正的错误)适用于 Delphi 单元文件。

但是,它在解析项目 ( .dpr) 和包 ( .dpk) 文件时存在问题;这个问题基本上归结为单元和项目中“使用”的东西之间的差异(以及包中的“包含”子句)。

让我举个简单的例子:

在单元 (.pas) 文件中,“uses”子句可以是这样的

而在项目 (.dpr) 文件中

然而,相同的功能(以“包含”的名义)出现为:

我拥有的语法文件(来自上面的链接)的问题是它只处理最简单的情况(即单元文件中出现“使用”的方式),并为其他人抛出错误。

我猜它归结为语法文件中如何定义“IdList”,即:

那么,我的问题是:如何更改此定义,以便它可以处理其他替代方案(如 Project 和 Pacckage 文件中所示),即:

0 投票
0 回答
110 浏览

delphi - Reduce-Reduce 错误:.. 可以遵循多个已完成的规则

我正在使用 Gold Parser v5.2。

我试图稍微修改Object Pascal Engine(由 Rob van den Brink 编写),以便它可以解析 .dpr 和 .dpk 文件以及 .pas 文件。

garmmar 文件(名为 D7Grammar.grm,在从上述链接下载的文件中)通过了 Gold 的分析 [项目 | 分析语法](进行以下修改)但因“项目 | 失败”而失败 创建 LALR 解析表。

对“D7Grammar.grm”文件的修改:

  1. 找到“FloatLiteral”的定义并将其重写为:

    /li>
  2. 找到 '<UsesClause>' 并将其重写为:

    /li>
  3. 添加以下规则

    /li>

完成这些后,当我发布 Project | 在 Gold Parser 中创建 LALR Parse 表,我收到以下错误。

')' 可以遵循多个完整的规则。Reduce-Reduce 错误是在语法允许同时减少两个或多个规则时导致的,因为相同的标记。语法模棱两可。请参阅文档以获取更多信息。

进一步点击会显示一个表格,显示/暗示“FieldDesignator”“EnumId”是罪魁祸首——还有一些我不知道它们的意思的更多信息。

我猜这种新的歧义已经被旧版本的 Gold(因为 D7Grammar.grm 那时没有问题)所考虑,但被新版本浮出水面。

麻烦的是,除了试错(主要是从随机想法或其他人的建议中复制/粘贴)之外,我对语法规则毫无用处。

因此,不用说,急需帮助来解决这个问题。

0 投票
1 回答
72 浏览

parsing - 黄金解析器小写

Gold Parser 问题:大写/小写字符区分存在问题。我的语法中的以下内容失败了:

小写字母 = {&61 .. &7A}

小写字母 = 小写字母+

大写字母 = {&41 .. &5A}

大写字母 = 大写字母+


我得到一个“DFA 状态”,指示“无法区分小写字母和大写字母”。

我觉得这很令人困惑,因为我相信小写字母是由一组 ascii 字符“a”到“z”定义的,而大写字母是由一组 ascii 字符“A”到“Z”定义的。

非常欢迎任何帮助。

0 投票
1 回答
72 浏览

c# - 如何在我的语法中找到错误的字符

我开始研究黄金解析器,并尝试将其语法应用于。这是一个片段代码。我对这个特定部分的作用感兴趣,如果我能看到我用文本框输入的文本中的哪些字符不符合我的语法?

0 投票
1 回答
235 浏览

lexical-analysis - 在 Gold Parser Builder 中定义字符串/输入的长度

我是使用 Gold Parser Engine 的新手,正在寻找一种方法来限制定义的长度,string但我没有找到任何方法来做到这一点。请帮忙做那个/。这是我的代码

有什么办法可以解释字符串的最大限制。谢谢

0 投票
1 回答
142 浏览

python - 使用 spacy 偏移格式构建 GoldDoc 以使用 CLI 训练空白模型

我目前正在使用 3 个标签进行 NER:

  • 电话
  • 地址

我可以使用 python 代码训练我的模型,但我想使用 CLI 训练来提供更大的灵活性。

我已将我的数据转换为 spacy 偏移训练格式,如下所示:

为了使用 CLI 训练/评估我的模型,我需要将这些数据转换为 Gold 格式。

我已经知道以下方法,但它需要使用现有的 nlp:

我的问题是: 如果我需要创建具有特定标签的模型,如何将 spacy 偏移转换为黄金。

0 投票
0 回答
10 浏览

gold-parser - 如何匹配 ANSI 文本文件中的重音字符?

我正在尝试匹配 ANSI 文件中的重音字符,它们被识别为 EOF。

文本文件是:VALB。VIÑAS - CICLÓN

我使用的语法是: "Start Symbol" = <Value> {String Ch} = {All Printable} + {Control Codes} + {All Valid} String = {String Ch}+ <Value> ::= String

并且它将Ñ字符匹配为EOF并终止。

有没有办法告诉黄金解析器该文件是ANSI?