首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用实现语言编译器

如何使用实现语言编译器
EN

Stack Overflow用户
提问于 2022-04-19 06:34:12
回答 1查看 117关注 0票数 0

因此,我正在研究如何创建一个语言编译器使用工作组。为了这个问题的目的,让我们简单地说,语言叫做翡翠。

翡翠是一种静态编译语言,它运行在JVM上,就像Java一样。

翡翠的编译器将是一个名为祖母绿的程序。编译器祖母绿会将像Hello.emerald这样的源文件编译成Hello.class。

我还没有找到任何例子来使用特松露来创建这样的语言。我发现的所有语言示例都是解释语言。例如,似乎没有一个文件编译为类文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-20 07:31:52

有了GraalVM的Tru显框架,语言就被专门实现为解释器,但是您仍然可以获得编译器。

语言通常不是从本质上编译或解释的(例如,您可以解释C和编译Javascript )。甚至可以同时使用这两种方法:例如,您的翡翠编译器从祖母绿编译成Java字节码,这反过来可以在Java虚拟机中解释,并及时编译。

使用GraalVM的Tru显框架,典型的设置是为您的语言实现一个解释器,而GraalVM将通过对解释器的部分评估为您提供一个JIT编译器。您可能需要检查本导论

如果你想提前编译,特弗莱也有对此的支持.

但是,目前还没有将输出AOT或JIT编译为Java字节码的配置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71920585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档