注释

2018-06-16 14:19 更新

注释可以是单行或多行。多行注释不能嵌套。


因为单行注释可以包含除了 LineTerminator 字符之外的任何字符,又因为有一般规则:一个 token 总是尽可能匹配更长,所以一个单行注释总是包含从 // 到行终结符之间的所有字符。然而,在该行末尾的 LineTerminator 不被看成是单行注释的一部分,它被词法文法识别成语法文法输入元素流的一部分。这一点非常重要,因为这意味着是否存在单行注释都不影响自动分号插入进程(见 7.9)。


像空白一样,注释会被语法文法简单丢弃,除了 MultiLineComment 包含行终结符字符的情况,这种情况下整个注释会当作一个 LineTerminator 提供给语法文法解析。


语法:


Comment :: 
MultiLineComment 
SingleLineComment


MultiLineComment ::
 /* MultiLineCommentCharsopt*/


MultiLineCommentChars :: 
MultiLineNotAsteriskChar MultiLineCommentCharsopt 
* PostAsteriskCommentCharsopt


PostAsteriskCommentChars :: 
MultiLineNotForwardSlashOrAsteriskChar MultiLineCommentCharsopt 
* PostAsteriskCommentCharsopt


MultiLineNotAsteriskChar :: 
SourceCharacter but not asterisk *


MultiLineNotForwardSlashOrAsteriskChar :: 
SourceCharacter but not forward-slash / or asterisk *


SingleLineComment :: 
// SingleLineCommentCharsopt


SingleLineCommentChars :: 
SingleLineCommentChar SingleLineCommentCharsopt


SingleLineCommentChar :: 
SourceCharacter but not LineTerminator


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号