Programming languages 是否存在同时扩展多种语言的编程语言?[问题经编辑]

Programming languages 是否存在同时扩展多种语言的编程语言?[问题经编辑],programming-languages,Programming Languages,AspectJ用新概念扩展了Java语言 是否有其他语言同时扩展多个语言?如果是,请给我举个例子 编辑:我不够清楚。Java程序仍然被认为是正确的AspectJ程序 我在寻找这种延伸: 扩展了B和C的语言A,但仅用B或C编写的程序仍然是A的有效程序 是在JVM上运行的Lisp方言。是在JVM上运行的Ruby实现。是一种非常酷的语言(你猜对了!)也可以在JVM上运行。所有的都可以调用现有的java API,所以您可以考虑“扩展”java语言。< P>(及其底层语言)直接扩展(通过CsPARP类

AspectJ用新概念扩展了Java语言

是否有其他语言同时扩展多个语言?如果是,请给我举个例子


编辑:我不够清楚。Java程序仍然被认为是正确的AspectJ程序

我在寻找这种延伸:

扩展了
B
C
的语言
A
,但仅用
B
C
编写的程序仍然是
A
的有效程序

是在JVM上运行的Lisp方言。是在JVM上运行的Ruby实现。是一种非常酷的语言(你猜对了!)也可以在JVM上运行。所有的都可以调用现有的java API,所以您可以考虑“扩展”java语言。

< P>(及其底层语言)直接扩展(通过CsPARP类似的嵌入式DSL)、LISP在LCLR的顶部运行,以及LVVM IR(以及有效的LLVM支持的任何目标平台),通过C类嵌入式DSL。 在此框架内创建的任何语言都可能以任何底层平台或语言为目标,并且可以由另一种语言进行扩展,即语言形成层次结构,每种新语言都扩展一种或多种已定义的语言

更新:为了反映更新后的问题,有两种方法可以扩展pfront中的语言。首先是通过添加新的结构和形式来扩展语言。第二种是实现一种语言的受限超集,它只允许目标语言的一个子集。这两种方法都可以使用——例如,大多数Csharp程序都是PFront的有效子集,以及Lisp程序。

是一种面向对象的语言,其目标是JVM(因此可以说是“扩展Java”)、CLR(因此可以说是“扩展C#”)和JavaScript(因此可以说是“扩展JavaScript”)

是一种逻辑编程语言,其目标是C(因此可以说是“扩展C”)、Java(因此可以说是“扩展Java”)、C(因此可以说是“扩展C”)和Erlang(因此可以说是“扩展Erlang”),用于四个当前活动的后端


那是我脑子里想不出的两种语言。如果你看得对的话,我相信你可以说Ruby做到这一点是因为各种方言(Ruby、JRuby、IronRuby等)针对各种平台,因此可以说是扩展了这些平台的主要语言。可能还有许多其他语言。

大多数语言并不专门扩展一种或几种语言。它们从多个来源获得灵感,但与所有这些都有很大的不同,可以算作独立的语言。我只需要知道至少存在一个。我们可以通过同时使用C#和Lisp的结构来扩展PFront吗?这样Lisp程序和C#程序都是有效的PFront程序?是的,可以混合语言。这是任何PEG解析引擎的一个很酷的特性。