首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby的YARV输出是什么?

Ruby的YARV输出是什么?
EN

Stack Overflow用户
提问于 2022-10-29 20:26:49
回答 1查看 43关注 0票数 0

我正在显微镜下阅读Pat Shaughnessy的Ruby,并试图补充关于Ruby如何执行程序的最新知识。完全披露,我还没有完成这本书,但我试着理解我的做法。在高层次上,这就是我所理解的。

代码语言:javascript
复制
Ruby Code -> Lexical Analysis -> Tokens
Tokens -> Parser -> AST Nodes
AST Node -> Compiler -> YARV Instructions (bytecode)
YARV Instructions -> YARV Interpreter -> ???
??? -> ??? -> Machine Language

我的问题是输出(?)YARV的翻译?这些指令住在哪里?那么,将其转化为机器语言所需的步骤又是什么呢?

如果有人能帮我指出正确的方向,或者如果我错过了什么,我会很感激的!

我试着在网上阅读了很多文章,但它们似乎并没有真正扩展到在编译YARV指令之后发生的事情。我知道产生YARV指令的语法指令生活在主要的repo中,但是接下来会发生什么?

EN

回答 1

Stack Overflow用户

发布于 2022-10-30 10:30:22

我的问题是输出(?)YARV的翻译?

没有输出。解释器不生成输出。它解释代码(另一个词是“执行”)。

更准确地说,解释器的输出是由解释器运行的程序的输出。因此,如果您编写的程序应该将"Hello,World“打印到控制台,那么运行该程序的解释器的输出将是将"Hello,World”打印到控制台。

这些指令住在哪里?

在内存中。

还有什么必要的步骤才能将其转化为机器语言呢?

根本就没有。翻译解释。它不会生成代码。将代码从一种语言转换到另一种语言的东西被称为“编译器”。

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

https://stackoverflow.com/questions/74248587

复制
相关文章

相似问题

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