许多编程语言共享通用甚至相当通用的特性。例如,如果你比较Java、VB6、.NET、PHP、Python,你会发现一些常见的函数,比如控制结构、数值和字符串操作等。
为了在元语言(或语言不可知的)级别定义这些特性,已经做了什么?
UML提供了软件各个方面的描述性参考,但现实世界的焦点似乎是数据处理。UML是相关的吗?
我并不是在问“为什么我们没有一种单一的语言来取代目前的过多的语言。”我们需要许多不同的工具(至少在这个时代)。
我并不是要求所有的语言都适合一个模板--汇编语言和编译语言的差异足以使其不可行(有些人称HTML为一种语言,但我不这么认为)。任何尝试都将从适当狭窄的范围开始。与此相一致,我不希望该模型能够完全有效地涵盖即使是一小部分选择。
然而,我希望这样的模型可以用来从一种语言转换到另一种语言(目标有限--比如jist翻译)。
发布于 2010-04-14 02:21:17
你所描述的听起来像是formal semantics of programming languages。有很多种方法,每种方法都会给出一种在某种编程语言中正式指定程序含义的方法。在某些情况下,此规范本质上是到另一种语言的翻译,如lambda演算,或正式指定的抽象机的编译,如SECD。
这里有太多的工作,很难选择一个具体的参考。但我希望我已经给了你一些有用的关键字来继续你的搜索。
发布于 2010-04-14 00:56:25
在这方面有很多尝试,但没有一个非常成功。据我所知,最早的是50多年前的UNCOL。
您已经给出了一个有很多共同点的语言列表,因为它们非常相似--它们都是过程语言,都有共同的根和一些OO扩展,所以这并不令人惊讶。如果您开始研究不同的语言,如LISP、haskell、erlang、prolog,甚至SQL,您就会看到非常不同的东西。
发布于 2010-04-14 00:50:06
UML通常用于在转移到实际代码之前用更简单的术语定义算法/代码。
为了回答我猜想的问题,已经定义了一组语言所需的部分,如while,for,if,else…这是否会被设定为标准,或者成为所有语言都使用的基库:不,这是因为不同的语言开发人员喜欢自己这样做。
https://stackoverflow.com/questions/2631383
复制相似问题