填充公共命名空间的例子

公共命名空间简述

制作计算机语言分两步走:填充公共命名空间、研究新编译原理。其中,公共命名空间用于确定语言是什么样子的,新编译原理用于实现语言。

简单来说,公共命名空间包括所有方言的所有句子。C语言、Java语言是方言,汉语、英语也是方言。不同方言的hello world程序,应该位于表格的同一行,而不同的列表示不同的方言。

把汉语和英语也视为方言,是为了接近自然语言编程。同时,也是为了提供一个对计算机语言进行说明的地方。例如:汉语方言A用于编程,汉语方言B用汉语解释每一行的句子都是什么功能。

每个人都能创建方言。由于公共命名空间仅负责确定语言是什么样子的,并不实现语言,所以,语言的使用者可以在这里畅所欲言,把自己对计算机语言的设想说出来,交给语言的制作者去衡量,并实现。

以下是一些填充公共命名空间的例子。

例1

字符串采用Python格式,由单引号、双引号、三个单引号、三个双引号标识。并且,在raw-string和f-string的基础上,再添加t-string, c-string, n-string。

name='zhao'
f'My name is {name}.'

r-string(raw-string)用于路径或正则表达式:

r'd:\text\1.txt'
r'\d{4,7}'

t-string(text-string)用于从文本文件中读入,它的字面值是一个路径,所以,也是r-string。

a=t'd:\text\1.txt'

执行后,a的值等于1.txt的内容。

c-string(cmd-string),启动一串命令行。

result=c'ls -l'

执行ls命令,并获取执行的结果。
在Perl语言中,用的是反单引号,

`dir`

n-string(note-string),就是注释,被编译器忽略的部分。单行注释可以用井号,多行注释就用n-string。

n'''这是一组
多行注释
有许多行组成。'''

例2

同位素用反斜线加小括号表示。同位素的概念取自化学中的元素周期表,互为同位素的语句,具有相似的功能,但却略有不同。print语句加不加换行就是一对儿典型的同位素。表示如下:

print('hello')\(换行)
print('hello')\(不换行)

使用专用的源代码浏览器,它可以显示或隐藏同位素。可以预见,公共命名空间中的句子都比较长,算上同位素以后就更长了,隐藏功能就成了必须的。

例3

上下文容器,有如下代码:

[4]位随机数
打印

若没有上下文容器,只能写成这样:

[4]位随机数至[x]
打印[x]

有了上下文容器之后,句子更简单,更接近自然语言了。

例4

[4]位随机数,不以零开头
[4]位随机数\(不以零开头)

生成1000到9999的随机数,不以零开头。
可以把同位素写出来,也可以放在反斜线后边。
放在反斜线后边的内容,会在源代码浏览器设置为“隐藏同位素”时隐藏,写出来的则不隐藏,它们功能相同。

例5

重复,直至按['q']退出:
    生成随机数至[x]
    打印[x],每行[5]个
上述所有[x],添加进空列表[y]

程序员需要一个“帮我编程序的小机器人”,来处理各种琐碎的任务。如上面这个例子就是,有一些编程的套路,可以自动实现。

程序员和机器人一起,把源代码转换成目标代码。

例6

"hello, \(name.upper)"

字符串内插,用反斜线加小括号来表达。小括号里可以使用微型语言,处理简单的任务。

总结

公共命名空间是一项全新的技术,它用于确定计算机语言是什么样子的,它是由全世界的程序员共同填充的,每个人都可以创建自己的方言,并且把对计算机语言的设想记录在公共命名空间之中。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值