【发布时间】:2011-04-26 22:48:06
【问题描述】:
编程语言有可能有解释器和编译器吗? 如果是,如何?
** 我认为 RUBY 有编译器和解释器 **
谢谢
【问题讨论】:
标签: ruby-on-rails ruby compiler-construction compilation interpreter
编程语言有可能有解释器和编译器吗? 如果是,如何?
** 我认为 RUBY 有编译器和解释器 **
谢谢
【问题讨论】:
标签: ruby-on-rails ruby compiler-construction compilation interpreter
当然,你可以两者兼得。除了 Java、Python 和现在的 Ruby 的明显示例之外,如果您真的愿意,可以为其中任何一个编写本机编译器。我认为那里的 Ruby 编译器实现得很差。
相反,你也可以为 C 写一个解释器,我想有几个。
像 Ruby 这样的动态语言很难为 C 编写编译器并且使用 C 的解释器会削弱编写 C 相对于像 Ruby 这样的语言的主要优势,这是有技术原因的。这并不意味着它不能完成。
简而言之,您可以为任何语言和平台(本机或虚拟机)编写编译器或解释器,或两者兼而有之,您可以获得或找出规范。
【讨论】:
某些语言既可以编译为特定于平台的运行时可执行文件,也可以被解释。例如,Ruby 可以被多个解释器、原生 ruby、ree 等解释,也可以由 JRuby “编译”成原生 java 代码(不完全是原生可执行文件)。
【讨论】: