Syntax 什么';在字符文字中使用尾随撇号的好处是什么
我正在编写自己的编程语言,现在正在重新考虑语法的许多方面。在大多数语言中,令我困扰的是字符文字中的尾随撇号。Syntax 什么';在字符文字中使用尾随撇号的好处是什么,syntax,character,language-design,literals,Syntax,Character,Language Design,Literals,我正在编写自己的编程语言,现在正在重新考虑语法的许多方面。在大多数语言中,令我困扰的是字符文字中的尾随撇号。 示例 带尾随斜杠:'n' 不带尾随斜杠:'n 为什么新语言(如rust f.e.)继续使用尾随撇号? 看到这样的语言修复了我们在旧语言中遇到的问题(好吧,尾随撇号并不是一个真正的问题),我想保留尾随撇号肯定有好处。如果它支持可读性,我会同意保留它,但我不认为它支持可读性。 以下是一些更奇特的例子: '\nvs'\n' '\rvs'\r' '\tvs'\t' '\\vs'\\' \'
示例
带尾随斜杠:
'n'
不带尾随斜杠:
'n
为什么新语言(如rust f.e.)继续使用尾随撇号?
看到这样的语言修复了我们在旧语言中遇到的问题(好吧,尾随撇号并不是一个真正的问题),我想保留尾随撇号肯定有好处。如果它支持可读性,我会同意保留它,但我不认为它支持可读性。
以下是一些更奇特的例子:
vs'\n
'\n'
vs'\r
'\r'
vs'\t
'\t'
vs'\\
'\\'
vs\'
\''
vs“\”
“\”
请注意,字符串文字中的尾随引号是必需的。以下是我的想法:
'\'
可能看起来很混乱–许多人可能认为这代表了\
(反斜杠)李>
//通常如下所示:
变量a='\n';//评论
变量s2='r'。重复(5)。替换('r','r');//评论
//只有一个“单引号”和一些高亮显示:
变量a='\n;//评论
变量b='\';//评论
变量s1='a+'b+'c//注释
因为
您不希望字符文字中的错误改变整个程序其余部分的含义。例如,有向图和三角图,因此可能的字符文本空间很大,指定无效字符的方法也很多。出于扫描或解析目的,您不希望无效字符后面的部分成为程序其余部分的一部分。你想知道在哪里停
您并不希望法律字符文字规则成为语言词汇规范的一部分,因为它必须非常稳定。您希望能够添加新的有向图、三角图等,而无需重新指定语言的词汇规则,也无需更改现有程序的含义
这个想法很有趣,但似乎不能用它来表示空格字符。不要在这里张贴文本图片。张贴文本。浪费你的时间和我们的带宽。@EJP好的,经过编辑,但是highlighter的工作方式与其他一些稍有不同,所以这个问题并不完全可见。你在第二段的第一句话中漏掉了一个字吗?还有,什么语言支持有向图作为字符文字?从未见过它,想知道它是什么样子。@NoelWidmer(1)是的,请参阅编辑;(2)C、C++、java、…code>\r
是一个有向图,Java的\u0000
是一个七位图。您的输入非常好。这就是我决定不再遵循这个概念的原因。