如何在 fslex 的模式中指定 unicode 字符

发布于 2024-10-19 19:40:34 字数 404 浏览 1 评论 0原文

在 FSharp Lexer 的模式中指定 Unicode 字符的正确方法是什么? 以下代码未使用 FsLex.exe 实用程序进行编译:

let lexeme lexbuf = LexBuffer<char>.LexemeString lexbuf
...
rule tokenize = parse   

| ['a'-'z' 'A'-'Z'] { TOKEN1 }  
| [\u0100\u0101]    { TOKEN2 } 
| [\u0102-\u01FF]   { TOKEN3 }  
...
| [eof]             { EOF }

我做错了什么?

PS:我正在使用带有 --unicode 选项的 fslex.exe

谢谢,Vitaliy

What is the correct way to specify Unicode characters in pattern for FSharp Lexer.
Following code is not compiled with the FsLex.exe utility:

let lexeme lexbuf = LexBuffer<char>.LexemeString lexbuf
...
rule tokenize = parse   

| ['a'-'z' 'A'-'Z'] { TOKEN1 }  
| [\u0100\u0101]    { TOKEN2 } 
| [\u0102-\u01FF]   { TOKEN3 }  
...
| [eof]             { EOF }

What I'm doing wrong?

P.S: I'm using fslex.exe with --unicode option

Thanks, Vitaliy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

2024-10-26 19:40:34

我认为您必须将 unicode 字符放在单引号中,就像正常的 F# 代码一样。

至少这对于我测试的一个小例子似乎有效。

I think you have to put the unicode characters in single quotes, just like in normal F# code.

At least that seems to work for a small example that I tested.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文