Java 编写数值线性代数编译器

Java 编写数值线性代数编译器,java,compiler-construction,clr,Java,Compiler Construction,Clr,我正在做一个小项目,该项目的主要目的是为数值线性代数创建一个编译器。我计划的方法是 用Java编程语言创建编译器 这将生成本机程序集代码 我将使用一个用C编写的数字线性代数软件包,并将与编译器生成的汇编代码链接。 此外,我正在考虑用我将要创建的新语言支持多线程 我对汇编语言非常陌生,有以下问题 为了支持多线程,我需要使用一个单独的线程库,还是需要使用生成的汇编代码? 因为我是在windows平台上开发的,所以用C语言开发并生成CLR、IL而不是生成本机汇编语言是否值得。 谢谢 Upul最好先将编

我正在做一个小项目,该项目的主要目的是为数值线性代数创建一个编译器。我计划的方法是

用Java编程语言创建编译器 这将生成本机程序集代码 我将使用一个用C编写的数字线性代数软件包,并将与编译器生成的汇编代码链接。 此外,我正在考虑用我将要创建的新语言支持多线程

我对汇编语言非常陌生,有以下问题

为了支持多线程,我需要使用一个单独的线程库,还是需要使用生成的汇编代码? 因为我是在windows平台上开发的,所以用C语言开发并生成CLR、IL而不是生成本机汇编语言是否值得。 谢谢


Upul

最好先将编译后的输出生成为C代码,然后使用C编译器生成汇编代码


这比直接向汇编程序开发要容易得多,因为您可以检查中间代码中的错误,并且不必担心将包链接到生成的代码中,因为编译器将在1上完成这项工作。已经假定您选择的汇编器是一个好的。但我强烈反对,理由如下:

现在,汇编程序再也不能击败一个用C语言,C++语言,或者D语言编写的优化程序,但是作为编译器编写者,你可以通过用这种语言代替汇编语言来输出自己的麻烦。最重要的一点是:您没有固定到si8ngle平台

当您对此做出决定时,您的第一个问题将转换为:我的目标语言如何支持多线程