单赋值语言是指在程序中,每个量均只赋值一次,即同一个量名在不同赋值语句的左部最多只出现一次。因此,实际上并没有传统计算机中的变量的概念,只是一种值名。例如,一个程序允许出现如下语句序列: C=A+B C=C*D F=(C-D)/E 则所使用的语言就不是单赋值语言。若这时只允许程序写成: C=A+B C1=C*D F=(C1-D)/E 其所用的语言就体现出单赋值的规则和要求了。单赋值语言的语义清楚,程序中的并行性易于被编译程序所开发。 著名的单赋值语言有美国的ID(IrvineDataFlow)语言、VAL(ValueOrientedAlgorithmLanguage)语言、法国的LAU语言、英国曼彻斯特大学的SISAL语言等等。ID语言是块结构式、面向表达式、无副作用的单赋值语言,用这种语言写出的程序不能直接执行,需先编译成数据流程序图,然后再在机器上执行。VAL语言是美国麻省理工学院(MIT)的J.B.Dennis等人于1979年提出的,下面以这个语言列举其单赋值语言具备的基本特点。 (1)遵循单赋值规则。没有传统计算机上所用的变量的概念,只是一种值名。任何语句执行的惟一结果是给该语句左部的值名赋值,没有副作用。 (2)有丰富的数据类型。基本数据类型有整型、实型、布尔型、字符型。结构数据有数组和记录。允许数组、记录嵌套定义,深度不限
原创力文档

文档评论(0)