命令式语言:Micro - C 解析与相关概念探讨
1. Micro - C 词法分析器规范
Micro - C 词法分析器规范与之前所见到的有相似之处,例如在某些方面和之前章节所讲的类似。词法分析器通过 Token 词法规则从输入字符流中收集标记,使用单个正则表达式识别名称和关键字,并借助辅助的 F# 函数 keyword 来区分关键字和名称。不过,它也有一些新的要点:
- 注释处理 :Micro - C 支持行末注释(以 // ... 开头)和定界注释(形式为 /* ... */ )。
- 行末注释 :使用额外的词法规则 EndLineComment 跳过当前行的所有输入。当遇到行末或文件结束时,词法分析器停止处理注释并返回 Token 词法规则;在其他情况下,继续处理注释。其规则如下:
and EndLineComment = parse
| [’\n’ ’\r’]
{ () }
| (eof | ’\026’)
{ () }
| _
{ EndLineComment lexbuf }
- **定界注释**:词法规则 `Comment` 读取到定界注释的末尾,并能正确处理嵌套的定界注释(与真正的 C 语言不同)。如果遇到另一个注释开始符 `/*`,则递归调用自身;遇到注释结束符 `*/` 则返回;遇到文件结束符
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



