我怎么用英语说可以将编程语言编译成其他编程语言?
示例可以是Haxe。在网站上,该语言被称为“ Multiplatform”:
多平台:Haxe可以通过其快速编译器编译为所有流行的编程平台-JavaScript,Flash,NekoVM,PHP,C ++,C#和Java(很快)
但是多平台可能被误解为硬件或软件平台(win,mac,linux)。
那么最能描述这个能力的词是什么?
我怎么用英语说可以将编程语言编译成其他编程语言?
示例可以是Haxe。在网站上,该语言被称为“ Multiplatform”:
多平台:Haxe可以通过其快速编译器编译为所有流行的编程平台-JavaScript,Flash,NekoVM,PHP,C ++,C#和Java(很快)
但是多平台可能被误解为硬件或软件平台(win,mac,linux)。
那么最能描述这个能力的词是什么?
Answers:
对不起,绅士,但是这个词只是“编译过的”。这意味着将一种类型的代码转换为另一种类型的代码。如果该代码是英语,C ++,x86机器代码,ARM机器代码,Java,字节码或返回英文,则没有任何实际区别。我们通常用它来表示从编程语言到机器代码的旅程,但这是单词随着时间的推移而获得的一个方面。嘿,如果有足够多的人开始不正确地使用一个单词,它的确会获得新的含义。但是,如果您想要将Haxe转换为C ++的单词,则该单词为“ compiles”。
多平台:Haxe可以通过其快速编译器编译为所有流行的编程语言 -JavaScript,Flash,NekoVM,PHP,C ++,C#和Java(很快)
(此外,我无视Merriam-Webster,因为他们很愚蠢,因为他们不同意我……嗯)
也许这是https://english.stackexchange.com/的问题,但我要说的是,编译过程包括编译为另一种高级语言,不仅限于编译为本机代码的编译器。
就像“编译”一词,它根本不是计算机编译器所特有的,而是相当笼统的。我想到了“编译表”或“编译名称列表”,因此它足够广泛,可用于多种用途(像Latex这样的文本处理器也可以编译等)。为了更具体地说明合并的目标,我将使用to-source-compiler
现在针对特定示例,我认为平台是一个合适的词。由于人类语言本质上是模棱两可的,因此如果有疑问,您必须使用冗余(示例,换句话说,解释)来阐明要点。
我还将以包括标准库和类似内容的方式阅读“ Haxe”语句。也就是说,在这种情况下,平台将是“语言”的超集,您可以通过将其称为“软件开发平台”等与它分离。
我要说的是,编译器按定义可以转换为不同的编程语言(至少我知道这是定义-将一种语言转换为另一种语言的程序)。例如,大多数C编译器将程序集作为输出。汇编编译器接受此输出,并将其转换为也是一种语言的二进制代码(确保-在过去40多年或更长时间中,可能没有人用它写过写,但从技术上讲,这是语言)-可以将其取回并重新编译为微代码,由处理器执行操作(或链接器对目标文件执行某些操作)。同样javap
编译成字节码。通常,在该链的末尾有解释器来执行最终代码(无论是CPU,GPU还是已执行的程序)。机器代码没有“东西”,因为现代的x86将程序重新编译为内部操作(微型操作),而我完全有能力将ARM机器代码视为x86上的解释语言或其他方式(在某些情况下甚至可以重新编译)从一种形式到另一种形式)。
Haxe是源到源编译器,因为它没有像前面的示例那样将高级语言转换为低级语言。它似乎并不能直接解决您的多平台歧义性问题,但是不幸的是,我认为这两者之间没有实际的区分方法-API是一种语言,通常可以解释,重新编译等。
首先第一件事:我不知道该功能是否已经合适。
但是也许它可以被称为多语言?还是与语言无关?由于它更多地与编程语言有关,因此在名称中提及“语言”可能使其比多平台更为明显。
当然语言也是模棱两可的,因为可以理解,源代码可以用任何现实世界的语言编写(例如,因为变量可以用unicode编写)。
另一方面,每个经验丰富的程序员都可能会认识到这种结构不同于本地化或国际化,因此他们可能会更轻松地“理解”它。
只是我的2美分。