Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 科特林语是如何用科特林书写的?_Kotlin_Programming Languages - Fatal编程技术网

Kotlin 科特林语是如何用科特林书写的?

Kotlin 科特林语是如何用科特林书写的?,kotlin,programming-languages,Kotlin,Programming Languages,我在查看时注意到,Kotlin语言本身主要是用Kotlin编写的: 我只是想知道,一种语言怎么可能主要是用自己的语言写的?在使用所创建的语言之前,是否需要编写编译器(使用其他语言)?以源语言编写编译器的过程称为 事实上,在早期阶段,它涉及到用另一种(通常是较低级别)编程语言编写编译器,支持为编译器源语言设计的功能的合理子集 然后,使用第一步中实现的功能子集,可以用编译器编译的语言重写编译器的代码。它为您提供了用同一种语言编写的语言子集的编译器 之后,可以添加新特性(起初不在代码中使用它们),并每

我在查看时注意到,Kotlin语言本身主要是用Kotlin编写的:
我只是想知道,一种语言怎么可能主要是用自己的语言写的?在使用所创建的语言之前,是否需要编写编译器(使用其他语言)?

以源语言编写编译器的过程称为

事实上,在早期阶段,它涉及到用另一种(通常是较低级别)编程语言编写编译器,支持为编译器源语言设计的功能的合理子集

然后,使用第一步中实现的功能子集,可以用编译器编译的语言重写编译器的代码。它为您提供了用同一种语言编写的语言子集的编译器

之后,可以添加新特性(起初不在代码中使用它们),并每次构建一个更强大的编译器,以此类推

Kotlin最初使用Java编程语言实现,然后Kotlin编译器的大部分源代码被重写到Kotlin。现在,添加到Kotlin编译器代码库中的大多数新代码都是用Kotlin编写的。

这可能会帮助您了解C编译器也是用C编写的!