问题标签 [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.
parsing - VBScript 解析器语法:数组赋值建模
我正在编写 GoldParser VBScript 语法。在我的语法数组赋值语句中,例如id(1) = 2
不被解析为赋值语句,而是作为调用语句id ((1) = 2)
(= 符号可以是赋值运算符和比较运算符)。如何更改以下语法以正确解析数组赋值语句?
注意:我添加了 IDDot 终端以With
正确解析语句,例如:.obj.sub .obj.par1
.
parsing - 包含注释的 GOLD 解析器
我正在开发一个将一种语言转换为另一种语言的项目,并且正在使用 GOLD Parser。我需要能够在我的转换中包含评论,因为我们不想失去这些。问题是 CommentLine 和 CommentBlock 被视为噪音并被捕获并丢弃。是否有一种简单的方法可以关闭此行为,以便在阅读评论时将其发送到树的其余部分,以便我可以像对待任何其他语句一样对待它?
如果没有,有人可以帮助我将 CommentLine 转换为规则,在解析时将被视为任何其他语句?我正在使用 GOLD Parser 网站上的 VBScript 语法:
在这一点上,我唯一的其他选择是当我的引擎读取注释标记时,获取原始数据和源行号,并将其放入字典中,然后我可以在处理其他标记时引用它。这是可行的,但可能会变得混乱。
bnf - 如何正确地将 BNF 转换为 GoldParser?
假设我在 BNF 中有这个:
有什么办法可以翻译成 Gold-Parser 吗?没有像这样分解它:
旁注:如果有人有更好的标题/更多标签,请编辑它,谢谢!
delphi - 使用 Gold Parser 解析项目和包文件 --help 需要“IdList”
我正在涉足Object Pascal Engine(由 Rob van den Brink 编写),它似乎(除了一些小且易于纠正的错误)适用于 Delphi 单元文件。
但是,它在解析项目 ( .dpr) 和包 ( .dpk) 文件时存在问题;这个问题基本上归结为单元和项目中“使用”的东西之间的差异(以及包中的“包含”子句)。
让我举个简单的例子:
在单元 (.pas) 文件中,“uses”子句可以是这样的
而在项目 (.dpr) 文件中
然而,相同的功能(以“包含”的名义)出现为:
我拥有的语法文件(来自上面的链接)的问题是它只处理最简单的情况(即单元文件中出现“使用”的方式),并为其他人抛出错误。
我猜它归结为语法文件中如何定义“IdList”,即:
那么,我的问题是:如何更改此定义,以便它可以处理其他替代方案(如 Project 和 Pacckage 文件中所示),即:
delphi - Reduce-Reduce 错误:.. 可以遵循多个已完成的规则
我正在使用 Gold Parser v5.2。
我试图稍微修改Object Pascal Engine(由 Rob van den Brink 编写),以便它可以解析 .dpr 和 .dpk 文件以及 .pas 文件。
garmmar 文件(名为 D7Grammar.grm,在从上述链接下载的文件中)通过了 Gold 的分析 [项目 | 分析语法](进行以下修改)但因“项目 | 失败”而失败 创建 LALR 解析表。
对“D7Grammar.grm”文件的修改:
找到“FloatLiteral”的定义并将其重写为:
/li>找到 '<UsesClause>' 并将其重写为:
/li>添加以下规则
/li>
完成这些后,当我发布 Project | 在 Gold Parser 中创建 LALR Parse 表,我收到以下错误。
')' 可以遵循多个完整的规则。Reduce-Reduce 错误是在语法允许同时减少两个或多个规则时导致的,因为相同的标记。语法模棱两可。请参阅文档以获取更多信息。
进一步点击会显示一个表格,显示/暗示“FieldDesignator”和“EnumId”是罪魁祸首——还有一些我不知道它们的意思的更多信息。
我猜这种新的歧义已经被旧版本的 Gold(因为 D7Grammar.grm 那时没有问题)所考虑,但被新版本浮出水面。
麻烦的是,除了试错(主要是从随机想法或其他人的建议中复制/粘贴)之外,我对语法规则毫无用处。
因此,不用说,急需帮助来解决这个问题。
parsing - 黄金解析器小写
Gold Parser 问题:大写/小写字符区分存在问题。我的语法中的以下内容失败了:
小写字母 = {&61 .. &7A}
小写字母 = 小写字母+
大写字母 = {&41 .. &5A}
大写字母 = 大写字母+
我得到一个“DFA 状态”,指示“无法区分小写字母和大写字母”。
我觉得这很令人困惑,因为我相信小写字母是由一组 ascii 字符“a”到“z”定义的,而大写字母是由一组 ascii 字符“A”到“Z”定义的。
非常欢迎任何帮助。
c# - 如何在我的语法中找到错误的字符
我开始研究黄金解析器,并尝试将其语法应用于c#。这是一个片段代码。我对这个特定部分的作用感兴趣,如果我能看到我用文本框输入的文本中的哪些字符不符合我的语法?
lexical-analysis - 在 Gold Parser Builder 中定义字符串/输入的长度
我是使用 Gold Parser Engine 的新手,正在寻找一种方法来限制定义的长度,string
但我没有找到任何方法来做到这一点。请帮忙做那个/。这是我的代码
有什么办法可以解释字符串的最大限制。谢谢
python - 使用 spacy 偏移格式构建 GoldDoc 以使用 CLI 训练空白模型
我目前正在使用 3 个标签进行 NER:
- 人
- 电话
- 地址
我可以使用 python 代码训练我的模型,但我想使用 CLI 训练来提供更大的灵活性。
我已将我的数据转换为 spacy 偏移训练格式,如下所示:
为了使用 CLI 训练/评估我的模型,我需要将这些数据转换为 Gold 格式。
我已经知道以下方法,但它需要使用现有的 nlp:
我的问题是: 如果我需要创建具有特定标签的模型,如何将 spacy 偏移转换为黄金。
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?