首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理FsLex中的嵌套注释

如何处理FsLex中的嵌套注释
EN

Stack Overflow用户
提问于 2011-08-19 06:53:57
回答 1查看 453关注 0票数 2

可以使用单行和多行注释,如C。

如何描述lexer忽略所有注释的规则,即使是嵌套的注释,例如:

代码语言:javascript
复制
// comment /* nested comment /* and nested again? */ */

或者像这样:

代码语言:javascript
复制
/* comment // one more comment /* and more... */ */

UPD:

下面是解析嵌套注释的有效代码(谢谢相同的):

代码语言:javascript
复制
rule token = parse
  | "/*"        { comments 0 lexbuf }
  | [' ' '\t' '\n'] { token lexbuf }
  | eof         { raise End_of_file }

and comments level = parse
  | "*/"    {
          if level = 0 then token lexbuf
          else comments (level-1) lexbuf
        }
  | "/*"    { comments (level+1) lexbuf }
  | _       { comments level lexbuf }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-19 15:05:33

当我在玩FsLex时,我发现Ocamllex教程很有帮助,特别是嵌套注释部分很容易转换成F#。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7117975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档