问题标签 [fslex]

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 回答
62 浏览

makefile - FsLexYacc 编译错误?

我正在尝试在 F# 中设置一个新项目。

我使用 FsLexYacc 作为工具,上次我使用它是在 Fsharp 电源组“进入”时。网站上的文档不是很好。在我看来,泛型类型注释 'end 因为它是一个关键字..

但我首先只是从页面复制粘贴虚拟文件以确保生成文件已启动并运行。(词法分析器、解析器和程序)

页面: https ://fsprojects.github.io/FsLexYacc/index.html

然后我得到

../../FSharp/Project/src/Lexer.fsl(21,81):错误 FS0001:“char”类型与“byte”类型不匹配

试图通过将 _ 更改为根本没有帮助的字节来强制执行类型

生成文件:

0 投票
1 回答
50 浏览

f# - 给定在 FsLexYacc 中实现的词法分析器,我如何获取所有标记?

我在 FsLexYacc 中实现了一个词法分析器和解析器。为了调试词法分析器,我想打印给定字符串的所有标记。

这是我到目前为止所拥有的:

1号

但这只是第一个令牌!

如何将所有标记作为列表或序列获取?

0 投票
0 回答
30 浏览

f# - 我可以通过 FsLex 词法分析器线程化状态并返回一个令牌吗?

根据文档,可以向词法分析器规则传递状态参数。

但是有没有办法将先前的状态传递给下一个规则应用程序?

例如,假设我想返回FOO令牌,但只要"foo"找到 a 就改变状态......我该怎么做?