【问题标题】:How does a programming language translator work? [closed]编程语言翻译器是如何工作的? [关闭]
【发布时间】:2012-12-13 01:53:39
【问题描述】:

我很好奇像睡衣这样的交叉编译器是如何工作的。他们只是有一个列表关键字并用翻译的代码逐行替换每个单词吗?我想了解。

我为我的无知道歉,我只是好奇。

【问题讨论】:

  • 是的,我有哈哈。我认为他们的工作方式相同,但我只是想我会问......
  • 据我所知,Pajamas 是一个交叉编译器,而不是解释器。这个过程非常不同。
  • @templatetypedef 我不知道它是一个编译器,但是在语义方面常见的方法是相似的,并且相当多的解释器在引擎盖下使用编译器来翻译(例如)虚拟机代码或 JIT 编译。

标签: python c compiler-construction


【解决方案1】:

没有一个始终有效的通用答案,但通常语言到语言的翻译器的工作方式与编译器的工作方式大致相同 - 它读取源代码,构建程序的内部表示,然后发出目标语言的代码。但是,普通编译器和交叉编译器之间的主要区别在于,普通编译器通常输出汇编(或某种字节码),而交叉编译器通常输出不同编程语言的构造。

如果您想了解有关构建此类翻译器的关键技术的更多信息,您可能需要阅读通用编译器构建技术。真的很酷!

希望这会有所帮助!

【讨论】:

  • 也可以使用一个 pivot language 将一种语言翻译成其他几种语言。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 2012-08-06
  • 1970-01-01
  • 1970-01-01
  • 2012-09-24
  • 1970-01-01
相关资源
最近更新 更多