gpt4 book ai didi

compiler-construction - 学习编程语言的工作原理

转载 作者:行者123 更新时间:2023-12-03 21:16:14 26 4
gpt4 key购买 nike

我已经编程多年(主要是 Python),但是当我编译或执行我的代码时,我不明白幕后会发生什么。

question 的脉络中我之前问过操作系统,我正在寻找对编程语言工程的温和介绍。我希望能够定义和理解诸如编译器、解释器、 native 代码、托管代码、虚拟机等术语的基础知识。有什么有趣和互动的方式来了解这一点?

最佳答案

代码执行简而言之

程序(代码)被送入编译器(或解释器)。

字符用于形成标记(+、标识符、数字),它们的值存储在称为符号表的某种东西中。

这些标记组合在一起形成语句:(int a = 6 + b * c;)。主要采用语法树的形式:

                     =
/ \
/ \
a +
/ \
/ \
6 *
/ \
b c

在解释器中,树是直接执行的。

使用编译器,树最终被翻译成中间代码或汇编代码。

您现在拥有一个或多个“目标文件”。这些包含没有精确跳转的汇编代码(因为这些值尚不清楚,特别是如果目标在其他目标文件中)。
目标文件通过链接器链接在一起,链接器填充跳转(ans 引用)的空白。链接器的输出是一个库(也可以被链接)或一个可执行文件。

如果您启动可执行文件,程序数据将被复制到内存中,并且还有一些其他链接来匹配指针与正确的内存位置。然后将控制权交给第一条指令。

关于compiler-construction - 学习编程语言的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1515940/

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