- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 C/lex 很长时间了,现在想使用 F#/fslex。
我在 C# 和学习 F# 的过程中相对较好。
唯一的问题是我看不到任何项目示例或模板,其中 fslex 正确包含在 Visual Studio 构建过程中。
有谁知道我在哪里可以找到一个?
很多问候!
沃尔克
最佳答案
不幸的是,.fsl 文件没有内置的项目模板,因为 FsLex 是 PowerPack 的一部分(所以 Visual Studio 不能指望它会被安装)。拥有一些可以与 PowerPack 一起安装的模板绝对有用!
无论如何,如果您正在寻找使用 FsLex 的示例项目(并且将 .fsl 文件作为项目的一部分),那么您可以查看 F# 源代码(与 Visual Studio 2008 MSI/ZIP 包一起分发) .包含 .fsl 的项目是 FSharp.Compiler.fsproj
在我的安装中,它可以在 C:\Programs Files\FSharp-1.9.9.9\source\fsharp\FSharp.Compiler
中找到.令人惊讶的是,它包含一个 F# 语言本身的词法分析器:-)。
添加 FsLex
项目添加到 MSBUILD 项目(也是 Visual Studio 项目),它使用以下内容:
<FsLex Include="..\lex.fsl">
<OtherFlags>--lexlib Internal.Utilities.Text.Lexing</OtherFlags>
<Link>lex.fsl</Link>
</FsLex>
<Compile Include="lex.fs" />
FsYacc
,这是一个例子(也来自
FSharp.Compiler.fsproj
):
<FsYacc Include="..\pars.fsy">
<Module>Microsoft.FSharp.Compiler.Parser</Module>
<Open>Microsoft.FSharp.Compiler</Open>
<OtherFlags>--internal --lexlib Internal.Utilities.Text.Lexing
--parslib Internal.Utilities.Text.Parsing</OtherFlags>
<Link>pars.fsy</Link>
</FsYacc>
<Compile Include="pars.fs" />
FsYacc
/
FsLex
命令来调用自定义工具,还有
Compile
命令告诉编译器包含生成的
fs
构建项目时的文件。
关于visual-studio - FSLex 示例解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2402349/
使用 fslex 我想为一个模式返回多个 token ,但我看不出如何实现这一点。即使使用另一个返回多个 token 的规则函数也适用于我。 我正在尝试使用这样的东西: let identifier
我已经使用 C/lex 很长时间了,现在想使用 F#/fslex。 我在 C# 和学习 F# 的过程中相对较好。 唯一的问题是我看不到任何项目示例或模板,其中 fslex 正确包含在 Visual S
在阅读了一个 2 年历史的网页后,与他们的 OCamel 同行相比,它确实撕裂了 fslex/fsyacc、错误、缓慢、愚蠢等,我想知道什么是词法解析需求的最佳选择? 我以前用 C# 绑定(bind)
我正在尝试使用 fslex 编写一个小型 DSL 解析器和 fsyacc .输入由需要不同词法规则的两种不同语言的交错块组成。我怎么写我的fslex文件来支持? (我想类似的情况是如何为 c 语言定义
fslex 和 fsyacc 工具目前需要 2 阶段编译,生成文件,然后由 fsc 编译。在我看来,如果源文件是嵌入式资源,以编程方式提供给 fslex 和 fsyacc,并且生成的代码使用 Code
我一直在业余时间研究 Lua fslex 词法分析器,使用 ocamllex 手册作为引用。 我在尝试正确标记长字符串时遇到了一些障碍。 “长字符串”由 '[' ('=')* '[' 分隔和 ']'
这个问题不太可能帮助任何 future 的访客;它仅与一个小地理区域、一个特定时刻或一个非常狭窄的情况相关,而这些情况通常不适用于互联网的全局受众。如需帮助使这个问题更广泛地适用,visit the
我已经在编译器上工作了一段时间,但在更改为 PowerPack 1.9.9.9 和 VS2010 的发布版本后,我无法编译以下行: 让 lexbuf = Lexing.from_string 文本 我
我正在使用 fslex 并且在我的标记器规则之一中,我需要查找下一个字符,以便我可以决定是继续使用 token 还是停止、放松并让前一个规则使用它。 我花了一些时间检查它的源代码,看起来唯一的方法是编
我需要解析如下简单的 DSL 语言: import "library.txt" def main(int param1, bool param2) { var a = f4(param1);
我正在尝试恢复我在 vs 2008 中工作的旧 f# 解析器项目,以便与 2013 一起使用。它使用 FsLexYacc。 我通过使用预构建步骤使其构建正常: fslex --unicode "$(P
我的词法分析器应该区分括号并在词法分析期间维护一堆打开的括号。为此,我在 fsl 文件中指定了一个辅助函数,如下所示: let updateBracketStack sign = // whenev
我正在学习 F#,因为我想编写一个词法分析器和解析器。我对这种处理有一点经验,但确实需要像 F# 一样正确地学习它。 在学习 F# 的词法/解析功能时,学习 lex 和 yacc 就足够了吗? 或者是
我遇到了 FSlex/FSyacc 在我的机器上崩溃的问题。 在上下文中,这是在 Parallels 虚拟机内运行的 Windows 8 Consumer Preview(32 位)上运行的 Visu
我是一名优秀的程序员,十分优秀!