代码之家  ›  专栏  ›  技术社区  ›  explorer

实现一种新的编程语言

  •  4
  • explorer  · 技术社区  · 15 年前

    只需编写一个翻译程序,将这种新语言的源代码翻译成平台的主语言(C#/Java) 然后让平台的编译器和其他工具来处理剩下的过程?这种方法有什么简单的概念证明和例子吗?

    5 回复  |  直到 15 年前
        1
  •  6
  •   Michael Ekstrand    15 年前

    是的,只要语义映射正确,就可以这样做(例如,在将JavaScript代码映射到C等语言时必须小心,因为作用域规则不同)。

    它不在托管平台上,但您可以查看 Vala . 它是一种类似于C#的语言,可以编译成C。Eiffel也可以编译成C(并支持编译成Java)。

        2
  •  1
  •   500 - Internal Server Error    15 年前

    是的,你当然可以。您将遇到的主要问题是,很难为您的语言提供源代码级运行时诊断/调试。

        3
  •  1
  •   JOTN    15 年前

    当然,第一个C++编译器我把代码翻译成C,然后使用系统编译器和汇编程序来创建可执行文件。我相信是从太阳那里来的,但已经有一段时间了。实际上,C-to程序集也在做同样的事情。

        5
  •  0
  •   umlcat    15 年前

    我建议两个步骤:

    首先,把你的语言翻译成C或Java。 其次,对.NET代码(CIL或MSIL)或Java字节码进行转换。