我正在实现自己的Lexer,只是看看C#如何处理char文字:https://msdn.microsoft.com/en-us/library/aa691087(v=vs.71).aspx
C#字符语法在上面的链接中描述
它指定"新行"字符不允许作为字符文字
但它没有说明"新线"性格是。
从我的角度来看,它可能是以下之一:
由于可以在f.e上创建一个文件。 mac然后在windows上编译我倾向于相信"新行"字符与案例4中的语法匹配。我记得VS在问某些情况下我是否想转换我的行结尾以匹配Windows行结尾。由于我们可以拒绝该选项,因此可以坚持使用文件包含的任何结尾。
有人可以确认案例4或告诉我,我错了吗?
答案 0 :(得分:5)
实际上,它可以是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)