我正在使用Jison作为具有角度前端的词法分析器/解析器生成器在JS中编写clike语言的编译器。我几乎得到了我期望的结果,但有一件事令我困惑 - 如何让Jison忽略评论(/* block */
和// line
)?
有没有简单的方法来实现它?请记住,注释可能会插入到任何语句/表达式的中间?
答案 0 :(得分:3)
您忽略注释的方式与忽略空格的方式相同:使用没有操作的词法分析器规则。
例如:
\s+ /* IGNORE */
"//".* /* IGNORE */
[/][*][^*]*[*]+([^/*][^*]*[*]+)*[/] /* IGNORE */
第一行忽略空格。第二个忽略了单行注释。第三个忽略了块评论。