问题标签 [nom]

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 投票
1 回答
73 浏览

webpack - 在我的 webpack (nuxt) 项目中导入其他模块使用的模块

我意识到导入第三方模块(即.vue 组件)内部使用的模块(例如moment.js)会生成一个模块是冗余的,因为导入了两次。

这是预期的行为还是我错过了什么?

如果重要的话,在 package.json 中的版本是完全一样的。

0 投票
1 回答
348 浏览

parsing - 如何使用 Rust 中的 nom 库匹配精确标签

我正在研究一个用 Rust 编写的小型持续时间解析库,并使用 nom 库。在这个库中,我定义了一个second解析器组合函数。它的职责是解析各种可接受的格式,以文本格式表示秒。

到目前为止,标签组合器的行为符合我的预期。但是,我最近发现以下示例失败了,并且根据定义失败了:

实际上,文档指出“输入数据将与标签组合器的参数进行比较,并将返回与参数匹配的输入部分”。

但是,正如我的示例希望说明的那样,我想要实现的是某种标签,如果无法解析整个输入,它将失败。我在解析输入后明确检查是否有休息;并发现它会起作用。此外,没有成功地探索使用一些风格的completetake组合器来实现这一点。

解析单词的“完全匹配”并在部分结果上失败(这将返回休息)的惯用方法是什么?

0 投票
1 回答
112 浏览

rust - 关于通过 rust 中的 crate Nom 解析 http 标头的一个奇怪问题

我写了一些使用 NOM 来解析 HTTP 标头的代码,但得到了一些奇怪的结果,如示例所示。在 main 函数中,字符串 input1 的末尾只比 input2 多了一个分号,但它们得到了完全不同的结果。显然,我希望得到与 text(input2) 类似的结果,感谢您帮助我检查发生了什么。

0 投票
1 回答
50 浏览

rust - 在 nom 6.2.1 中创建错误以匹配 nom::IResult

在 nom 5.0 中编译得很好:

但在当前版本 6.2.1 中,assert 行编译时出现类型不匹配错误 [E0308]:

如何创建错误以使其现在与顶部错误匹配?

0 投票
1 回答
101 浏览

rust - Rust新手问题,如何处理这个函数中的错误?

我正在用 nom crate 学习 Rust,下面是我的程序。

运行时出现此错误:

当我添加这样的类型时:

我收到了这个新错误:

添加类型和解决问题的正确方法是什么?

0 投票
1 回答
149 浏览

rust - 如何使用 Rust nom 获取字符串的最后一次出现?

我正在学习 Rust 以及 nom crate。我有一个字符串,它可能是其中之一

我想编写一个解析器,将结束文件名和所有其他部分作为一个元组获取。所以对于上面的示例输入,预期的输出是

以下代码是我现在所拥有的。

当我运行时cargo test,出现以下错误:

问题出在哪里?谢谢。

0 投票
1 回答
78 浏览

reactjs - NPM ERR 代码 FETCH_ERROR npm install firebase

我有问题 npm install firebase

npm install --save firebase npm ERR!代码 FETCH_ERROR npm ERR!errno FETCH_ERROR npm ERR!https://registry.npmjs.org/@firebase%2ffirestore上的无效 json 响应正文原因:JSON 输入意外结束

npm 错误!可以在以下位置找到此运行的完整日志:npm ERR!/home/dell/.npm/_logs/2021-09-08T08_05_33_702Z-debug.log

0 投票
0 回答
86 浏览

rust - Rust (nom 7) 多行解析器的流版本

我正在尝试学习 NOM,但我也是 Rust 的新手。

我有一个文本文件,每行都有单词。我想将其拆分为 2 个文件:有效的 ASCII(没有控制代码)和其他所有文件。

但是输入文件对于内存处理来说太大了,我应该使用 Streaming 功能,就像这样

如何修改此代码以将流缓冲区与有限容量(1000 个字符)和line_ending检查结合起来?

0 投票
1 回答
97 浏览

rust - 使用 nom 读取二进制 u32

我很难找到有关如何使用 nom 解析二进制文件的任何有用示例,因为文档似乎严重偏向&str输入解析器。

我只想在这里创建一个读取 4 个字节的函数,将其转换为 au32并作为结果返回。这是我的功能:

我收到以下错误:

做我正在尝试的事情的规范方法是什么?

0 投票
2 回答
144 浏览

rust - 为什么我不能在 tuple() 中使用相同的解析器两次?

我编写了以下 nom 解析器代码:

错误:

如何重用我在本地定义的解析器?