最新 最热

编译原理 第一章: 编译概述 重点总结(翻译程序的过程,解释程序,编译程序的结构)

强化记忆:源程序编写分两类,汇编语言和高级语言,都能生成目标程序机器语言,但是高级语言还可以生成机器语言,翻译程序各不相同,汇编对应汇编程序,高级对应编译程序。...

2024-09-18
1

原来go build命令有这么多学问

简单来说有两个go文件组成的Demo,分别是hello.go和main.go,其中main.go中的main函数需要引用hello.go中的printHello()函数,但是在编译项目的时候突然报错了,代码和文件关系如下:...

2024-09-09
1

肝了4天,终于把Vue3编译原理之transform憋出来了

上一篇主要讲到了在vue中,template通过parse生成ast(抽象语法树)的主要核心流程。这个ast是对模板的完整描述,不能直接拿来生成代码,缺乏语义化,并且没有包含编译优化的相关属性,还需要进一步转换,所以用到了我们今天需要讲解...

2024-06-01
1

看懂编译原理:看懂 JIT & AOT

在生成目标文件时,编译器会将代码区的内存页保护措施临时关闭,以便将代码写入到代码区并设置可执行文件权限。

2023-12-08
2

看懂编译原理:目标代码指令生成和优化

首先开发者编写的代码是给人看的,有些时候会为了可读性牺牲一些性能;其次如果只是将代码机械的进行翻译则会出现很多无用的机器指令,就如同ir中的优化(无用ir删除)。因此我们需要对指令进行一些删除操作,将无用的指令删除。...

2023-12-06
2

看懂编译原理:前端&后端编译器做了什么?

编译器后端的结果就是生成目标代码,如果目标是计算机那么目标代码就是汇编代码;如果目标是虚拟机,那么目标代码就是对应虚拟机的代码。

2023-12-04
2

看懂编译原理:词法/语法/语义分析阶段 原理

词法分析器的目的是识别高级语言中编写的代码转换为token,也就是识别高级语言中的每个单词token

2023-12-03
2

编译原理

编译,其实就是把源代码变成目标代码的过程。如果源代码编译后要在操作系统上运行,那目标代码就是汇编代码,我们再通过汇编和链接的过程形成可执行文件,然后通过加载器加载到操作系统里执行。如果编译后是在解释器里执行,那...

2023-11-30
2

用有限状态机实现一个简版的html解析器

FSM(Finite State Machines) 有限状态机,也叫有限状态自动机,是为研究有限内存的计算过程和某些语言类而抽象出的一种计算模型,它拥有有限个数量的状态,每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移...

2023-11-29
2

LeetCode 65:有效数字 DFA自动机解法

这道坑爹的题目条件居然要自己摸索!!!!然后就开始了痛苦的修bug之路.....(需求都不好好提,这样的甲方还是刷上面包糠带到河边吧)

2023-10-26
1