词法分子如何解决这种模糊性?
/*/*/
Run Code Online (Sandbox Code Playgroud)
它是如何不只是说,哦,是的,这是一个多行评论的开始,接着是另一个多行评论.
一个贪婪的词法分析器不会只返回以下令牌吗?
我正在为CSS编写一个shift-reduce解析器,然而这个简单的注释事情就是我的方式.如果您不想获得更多背景信息,可以阅读此问题.
很抱歉首先将其删除.我打算在这个表单中添加CSS语言的扩展,/* @ func ( args, ... ) */但我不想混淆一个理解CSS但不是我的扩展注释的编辑器.这就是为什么词法分析者不能忽视评论.
最简单的方法可能是将注释作为单个标记释放 - 也就是说,不发出"START COMMENT"标记,而是继续读入输入,直到您可以发出包含整个/*(anything)*/位的"COMMENT BLOCK"标记.
由于注释与可执行代码的实际解析无关,因此它们基本上被词法分析器剥离(或者至少会聚集成单个令牌).您不关心评论中的令牌匹配.
| 归档时间: |
|
| 查看次数: |
1444 次 |
| 最近记录: |