SEC 问答列表

如何避免使用 FParsec 回溯解析 SQL?

作者:lamg 提问时间:9/23/2023

我正在使用 FParsec 解析 SQL (Sqlite),并且在解析像 .由于用于识别标识符的解析器也识别关键字,因此我必须确保首先尝试解析关键字,并且只有在失败时才继续使用标识符。为此,我正在使用...

如何使用 FParsec 解析 SQL 运算符

作者:lamg 提问时间:9/19/2023

我正在解析 SQL 表达式,并且一直在看这个例子。到目前为止,我专注于布尔运算符,如 、 、 和 。前四个似乎很容易实现,但是我不确定该怎么做:ANDORNOTINNOT INNOT IN type...

如何在 FParsec 中编写自定义“尝试”解析器?

作者:bookofproofs 提问时间:9/10/2023

我正在尝试在 FParsec 中编写自定义尝试解析器。我试过了,但我是 F# / FParsec 初学者,并且迷失在我产生的 F# 编译器错误中。这是我迄今为止最好的猜测: let customAt...

如何使用 FParsec 解析固定字符串

作者:Roald 提问时间:11/8/2021

我正在尝试使用 FParsec 解析固定字符串。例如,从文档中解析 null: open FParsec type Json = JNull let jnull : Parser<_> = str...

fparsec - 限制分析器应用于的字符数

作者:Friedrich Gretz 提问时间:1/4/2022

我有一个问题,在解析流的过程中,我通过多次(按顺序)应用特定解析器来指向需要解析下一个 N 个字符的位置。 (剥离玩具)例: 17<tag><anothertag><a42... ^ |- I...

如何在 FParsec 中解析 recusrive 语法

作者:Chechy Levas 提问时间:3/3/2022

以前的问题,我无法用它来让它工作 FParsec 中的递归语法 似乎是一个在添加到FParsec之前被问到的老问题createParserForwardedToRef AST 似乎不像我的那么可怕...

使用 FParsec,是否可以在解析器失败时操纵错误位置?

作者:Stelios Adamantidis 提问时间:3/31/2022

举个例子,我将以 Phillip Trelford 的这个简单的 C# 解析器为例。为了解析一个标识符,他写了这个(略有改动): let reserved = ["for";"do"; "while...

如何使用 FParsec 解析递归左语法规则?

作者:Foxy 提问时间:7/27/2022

我通常将 FParsec 用于 LL 语法,但有时在整个语法中只有一个元素需要左递归解析(因此语法不再是 LL)。目前我有这样的情况,我有一个用 FParsec 实现的大型 LL 语法,但是一个小的语...

将 FParsec 代码移动到 F# 模块不起作用

作者:bookofproofs 提问时间:8/16/2023

我是 F# 和 FParsec 的新手,在使用 VS 2022 社区版 DotNet 6.0 将我的 FParsec 代码移动到 F# 模块时遇到问题。 我的用例是这样的:我的控制台应用程序解决方案...

FParsec 中的前向引用问题

作者:bookofproofs 提问时间:8/21/2023

我正在尝试使用 FParsec 编写一个解析器来解析嵌套的布尔表达式,例如: false true and(false,true,true,true,true) or(true,true) and(...


共140条 当前第2页