代码生成器技术乱弹五十六,超级语言和高级语言的根本区别

代码生成器技术乱弹五十六,超级语言和高级语言的根本区别

超级语言如标准生成器脚本(SGS语言)或标准生成器脚本电子表格版本(SGS2语言),以下简称生成器脚本。大家有时会觉得,它们缺少其他编程语言不可或缺的条件,循环和赋值等等的语句,却多了一些其他语言看不到的功能,比如verbdenies等等。许多人感到奇怪,并质疑这是否是一种编程语言。其实,生成器脚本没有算术和逻辑运算,这是所有高级语言都不可缺少的,生成器脚本能够做到这一点本质是抽象级别提高后自然产生的特点。和一般高级编程语言不同的是,普通高级语言是使用语句和变量的抽象级别。所谓条件,循环,赋值等等的语句,本质上是在执行对变量的操作,比如条件语句是检测某一变量的值并进行跳转。而生成器脚本的抽象级别是动词算子和域对象。如果您仔细看代码生成器脚本的操作,绝大多数操作是在设置域对象和域对象的属性和关系。那个verbdenies功能是在定义某个域对象上不使用的动词算子。这些差别足以显示,生成器脚本是一种抽象级别不同于高级语言的计算机编程语言。
从根本上说,代码生成器脚本是题域空间的语言,而高级语言是解域空间的语言。生成器脚本是需求分解的工具。为什么这样说。看看这个数学式子,
1+1 = 2
可见,等号左边的 1 + 1 这一边是题域,是提出问题的区域。在生成器脚本上,题域往往是对一个域对象的规格描述。本质上,组如寄存器优化之类的问题不应该在这里提出,因为那是一个解域的问题。域对象的规格描述,其实不是一个编程实现问题,它更类似于设计和规格描述,它是说,我要一个解决如此数据格式的应用系统。实际上它是设计者对遇到的规格需求的细化和落实,本质上是一种规格描述。有计算机语言位于这一层次,比如UML。而SGS和SGS2
是这样的题域语言。和UML不同的是SGS和SGS2可以编译成为具体的应用程序。
等号右边的2,那是答案,或者是解。等号右边的区域是解域,比如动词算子式通用代码生成器的代码生成物就是位于解域。传统的编程语言,比如高级语言,汇编语言和机器语言,都是位于解域的语言。位于题域和解域的语言是完全不同的,要求一个题域语言大头还是小头,寄存器的物理地址,字符串的数据结构那是完全不对的,这些都是解域语言要处理的问题。

动词算子和域对象的笛卡尔积:

动词算子的内部结构:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火鸟1995

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值