Noe*_*mer 3 c# compiler-construction grammar line-endings
我正在实现我自己的Lexer,只是看看C#如何处理字符文字:https://msdn.microsoft.com/en-us/library/aa691087(v = vs.71).aspx
C#字符语法在上面的链接中描述
它指定不允许"新行"字符作为字符文字.
但它没有说明"新行"字符是什么.
从我的角度来看,它可能是以下之一:
由于一个文件可以在fe mac上创建然后在windows上编译,我倾向于认为"新行"字符与案例4中的语法相匹配.我记得VS问我是否要将我的行结尾转换为匹配在某些情况下,窗户线结束.由于我们可以拒绝该选项,因此可以坚持使用文件包含的任何结尾.
有人可以确认案例4或告诉我我错了吗?
事实上,它可以是CR或LF,还有一些,根据规范:
https://msdn.microsoft.com/en-us/library/aa664812(v=vs.71).aspx
new-line-character:
Carriage return character (U+000D)
Line feed character (U+000A)
Line separator character (U+2028)
Paragraph separator character (U+2029)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |