基于栈的虚拟机与基于寄存器的虚拟机

经常听到 LuaJIT 和 JVM 分别是基于寄存器的虚拟机和基于栈的虚拟机,那么这两种虚拟机究竟有什么区别?

RVA23 包含了什么

Ubuntu 计划在 25.10 的 RISC-V 架构中只支持 RVA23 配置文件,于是打算大概看下 RVA23 有什么是比较重大的指令集成为了必选

编译器笔记:rope

在实现 paradoxical 的时候注意到很多语言服务器或者编辑器都会使用一个叫作 rope 的东西来保存对文件的操作结果,因此简单记录下这个神奇的东西。

编译器笔记:CST

AST(Abstract Syntax Tree) 倒是想做编译器的人、不想做编译器的人都会知道一点,但是 CST(Concrete Syntax Tree) 倒是很少提到,睡不着就简单记录一下吧

简单的 CFG 语法分析方法

有些时候吧人就是贱,想写点吃力不讨好的东西。今天就写点上下文无关文法(Context-Free Grammar, CFG)的两个算法吧。

编译器笔记:增量编译

如何让编译程序尽可能的快?并行化编译是最原始的做法——让每个单元都互相独立编译,并且尽可能多地同时编译。更进阶的做法就是——增量编译。