问题标签 [parser-generator]

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 投票
2 回答
1660 浏览

php - 使用 simple_html_dom 解析 PHP,请检查

我制作了一个简单的解析器,用于使用简单的 html dom 保存每页的所有图像并获取图像类,但我必须在循环内创建一个循环以便逐页传递,我认为我的代码中的某些内容没有优化,因为它是非常慢,总是超时或内存超出。有人可以快速查看一下代码,也许你会看到我做的一些非常愚蠢的事情吗?

这是不包含库的代码...

谢谢你。

0 投票
2 回答
1464 浏览

parser-generator - 什么类型的解析器是野牛?

什么类型的解析器是野牛。是 LALR(1) 还是 LR(1) ?

0 投票
1 回答
311 浏览

dom - 识别分层数据中的模式或结构

我的问题是¿检测分层或树模式的最佳技术是什么?

我想识别 HTML 页面中的部分,例如:用户登录菜单、导航菜单、内容正文、页脚等。

我正在尝试使用我实现的语法识别(我不喜欢 Lex 和 yacc 这样的经典作品,因为他们不关心 HTML 数据意义)使用 php 并使用 DOM 解析器进行 HTML 遍历(DOMDocument)。

我遇到了麻烦,因为在 html 中直观地表示数据的方式的可变性。例如,一个菜单可以用 实现<ul><li><a href=#>Link1</a><li>Link2....</ul>,但只有数百种可能性。它还取决于 css 事件(onclick、onmousehover)。从假菜单中识别真正的菜单也存在问题。

我在考虑神经训练,但在所有示例中,我发现它们适用于线性数据,而不是分层数据。我尝试训练一些网络,但很明显它们丢失了 DOM 树元素之间的关系信息。或者也许我不知道如何让它变得更好。

我的模式识别语法结果很差,因为它不接受 html 中可能的“意外”,也不平滑识别,它太严格(不模糊)。

任何想法?

0 投票
5 回答
1947 浏览

c# - C#/Python/Ruby 的表达式求值器

我们有以下格式的半复杂表达式:
“25 + [Variable1] > [Variable2]”

我们需要一个表达式求值器来解析表达式并使用回调来请求变量值并计算出表达式的整体结果。它必须是回调,因为有成千上万的变量。

我们需要常用的数学运算符,但也需要诸如“if”之类的东西。语言越丰富越好。

我们可以使用任何我们想要的语言。有人有什么建议吗?

0 投票
3 回答
688 浏览

yaml - YAML 的替代脚本?

我打算使用 yaml,因为它有一个很棒的功能,叫做合并!(“<<”键)

我正在使用'yaml-cpp'作为解析器,因为我正在研究cpp。

但!yaml-cpp 不支持合并。我可以为替代品做些什么?

其他脚本,其他解析器,其他解析方式,或者如果我可以使用合并功能的话。

但我不需要合并多个对象。我只需要定义一些东西并创建从第一个继承的另一个对象并覆盖一些值。那它。

谢谢阅读。

0 投票
3 回答
131 浏览

python - 如何改进我的解析技术?

我正在为自定义语言编写一个 pythonic 解析器,到目前为止我有这样的东西:

现在我正在读取输入文件,并且对于每一行,如果我找到一个特定的关键字,那么我正在使用一个特定的正则表达式。显然,这让我的生活变成了地狱,因为我正在做这样的事情:

同时,我不想将给定的行与所有可能的正则表达式匹配,因为那将是一种浪费。在不丢弃我在此之前写的所有内容的情况下,是否有一种优雅的方法可以解决这个问题并使其更高效和可读?

0 投票
5 回答
2333 浏览

c# - 用于 C# 输出的最快解析器生成器工具是什么?

我正在寻找一个解析器生成器工具,它可以提供 C# 输出并且相当快。我的目标是像文本一样解析 JSON 并从中创建 CLR 对象。我为此使用了 GOLD Parser 引擎,但结果证明它对我的需要来说很慢。任何人都可以向我推荐一个可以发出 C# 代码的好且快速的解析器生成器工具吗?我听说过 Irony 和 ANTLR,但没有使用过它们的经验。它们生成的解析器速度快得多还是有更好的选择?

0 投票
2 回答
7459 浏览

c# - 如何创建解析器(lex/yacc)?

我有以下文件,需要解析

以开头的--行将被视为注释行。并且文件以“开始”开头并以end. 后面的字符串Start是 the UserID,然后是nameandaddress将在双引号内。

我需要解析文件并将解析后的数据写入 xml 文件。

所以生成的文件会像

现在我使用模式匹配(Regular Expressions)来解析上面的文件。这是我的示例代码。

方法:读取文件

方法:FormateRowData

方法:解析数据

方法:写文件

我听说过ParserGenerator

请帮助我使用 lex 和 yacc 编写解析器。这样做的原因是,我现有的 parser( Pattern Matching) 不灵活,更多的是它不是正确的方式(我认为是这样)。

我如何使用ParserGenerator(我已经阅读了代码项目示例一代码项目示例二 ,但我仍然不熟悉)。请向我推荐一些输出 C# 解析器的解析器生成器。

0 投票
1 回答
102 浏览

python - php DAL 超出模式

一年前我用 PHP 开发了一个 Web 平台,我为我为它编写的数据访问层感到有点自豪。从那时起,我开始一遍又一遍地重复使用相同的概念。但现在我想把它提升到一个新的水平,而不是重写整个数据库访问代码,我想创建一个工具来解析我的 SQL 模式并自行生成 DAL 类。

从 SQL 模式中生成代码所需的信息是:

事实上,我查找了一些 SQL 解析器并找到了一些东西,但我最终决定以不同的方式执行此操作。我不是从 SQL 模式本身生成代码,而是从我根据数据库真实模式创建的元数据生成它。

我想到了类似的东西:

这根本不是一个规范,它只是一个快速思考的结果,说明了我想要实现什么样的东西。

现在的问题是:python 是否有一些内置的 API,或者我可以使用一些 3rd 方库来解析一些格式,让我如上所述定义我的模式?我不想重新发明轮子,而且我对编写自己的解析器一点也不感兴趣,我想要的只是尽快获得一个基本的可用工具。

谢谢

0 投票
2 回答
912 浏览

assembly - JavaCC 解析器从汇编语言到机器码的指令分离问题

HY.我正在尝试使用 JavaCC(汇编程序)制作一个解析器,以将汇编代码(微控制器 8051)转换为机器代码。我已经阅读了有关 javaCC 语法及其结构方式的信息,但我遇到了困境。例如我有ADD指示:

并且对于他们每个人,我都有一个 Machine code (hexa code)ex:ADD A,R0转换为 28H 。而且我也可以得到MOV指令:
MOV A,Rn或者MOV A,@Ri但我也有 MOV data_addr,Rn等等 MOV R6,#data

现在我的问题是我如何在两条指令之间做出这种区别。假设我这样定义我的标记: 我无法为每个标记定义函数来指定特定行为的函数,因为我有很多指令。说这是一个很少,你不觉得吗?....所以我几乎被卡住了。我不知道该怎么走。 谢谢你的帮助。!
Token{
<IN_MOV :"mov">
|<IN_ADD:"add"
}

token.image==.equals("mov"), then go on one direction to the specific behaviour