1

我正在使用 Jison 作为具有角度前端的词法分析器/解析器生成器在 JS 中编写 clike 语言的编译器。我几乎得到了我所期望的结果,但有一件事让我感到困惑 - 如何让 Jison 忽略评论(/* block */// line)?

有什么简单的方法可以实现吗?请记住,注释可能会插入到任何语句/表达式的中间?

4

1 回答 1

3

您忽略注释的方式与忽略空格的方式相同:使用没有操作的词法分析器规则。

例如:

\s+                                   /* IGNORE */
"//".*                                /* IGNORE */
[/][*][^*]*[*]+([^/*][^*]*[*]+)*[/]   /* IGNORE */

第一行忽略空格。第二个忽略单行注释。第三个忽略块注释。

于 2015-12-11T16:58:22.863 回答