Shebang
Shebang 是一个可选行,通常用于类 Unix 系统中,用来指定执行该文件的解释器。
Example
#!/usr/bin/env rustx fn main() { println!("Hello!"); }
Lexer
SHEBANG →
#! !( ( WHITESPACE | LINE_COMMENT | BLOCK_COMMENT )* [ )
~LF* ( LF | EOF )
Shebang 以字符 #! 开头,并延伸到第一个 U+000A(LF)处,如果没有 LF 则延伸到 EOF。如果 #! 字符后面跟随 [(忽略中间的注释或空白字符),则该行不被视为 shebang(以避免与内部属性产生歧义)。
Shebang 可以紧接在文件开头出现,也可以出现在可选的字节顺序标记之后。