gpt4 book ai didi

c - 程序员如何在C之上开发出一种编程语言?

转载 作者:行者123 更新时间:2023-11-30 17:32:19 26 4
gpt4 key购买 nike

我有兴趣在 C 之上创建自己的编程语言,但我没有知道从哪里开始。

所以,我研究了一下,这引起了我的注意:

A lot of languages are C-based. 

诸如C++Objective-C之类的流行编程语言,可能还有C#Java都构建在C 的顶部。(更不用说 Python)

C++ 和 Objective-C 的创建者是如何设法创建一种基于 C 的新语言,同时添加面向对象编程概念的?

最佳答案

基于 C 并不一定意味着它可以与 c 互操作。它可能只是意味着它使用与埃及括号相同的范例或类似的语法。

Java 基于 C,但也借用了 Smalltalk,它不能运行任何 C 代码。 C++ 可以调用 C 函数,因为它的编译器生成与 C 代码相同的二进制代码。一旦链接了它们的二进制文件,它们就可以互操作了。 Python 实现 CPython 首先不会生成任何二进制文件,它是一个解释性实现,这意味着它由解释器程序运行,该程序将整个解析的语法树保存在内存中。而且由于解释器本身只是一个C程序,因此它可以调用其他C函数。因此,不存在在 C 之上添加功能之类的事情。这些是不同的语言,具有不同的编译器/解释器和语法,只是借用了 c 的一些语法规则。

开始创建自己的语言的最简单方法是使用解析器生成器,如 antlr 。我将开始创建一个解释器而不是二进制编译器。也许是一个编译器,它编译成c。有关语言语法的知识至关重要。

关于c - 程序员如何在C之上开发出一种编程语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24275211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com