我正在用JS编写一个类似于c语言的编译器,使用Jison作为一个具有角前端的lexer/解析器生成器。我几乎得到了预期的结果,但有一件事让我感到困惑--如何让Jison忽略评论( /* block */和// line)?
有什么简单的方法来实现这一点吗?请记住,注释可能会插入到任何语句/表达式的中间?
发布于 2015-12-11 16:58:22
忽略注释的方式与忽略空白的方式相同:使用没有操作的lexer规则。
例如:
\s+ /* IGNORE */
"//".* /* IGNORE */
[/][*][^*]*[*]+([^/*][^*]*[*]+)*[/] /* IGNORE */第一行忽略空白。第二个忽略单行注释。第三个忽略块注释。
https://stackoverflow.com/questions/34225169
复制相似问题