Musys-IR 设计思路与使用说明 01: 环境搭建
目录: 点击这里 这一章介绍怎么构建 Musys 库, 以及如何使用 Musys 库写一个简单的 demo. 编译器、语言服务器与依赖问题Musys-IR 是使用 Vala 编程语言 编写的, 依赖 Vala 编译器, 依赖 GLib 标准库与 Gee 数据结构库. 如果要语义高亮、智能提示等, 可以选择 vala-language-server 语言服务器,配合相关的扩展使用. 在 Ubuntu (24.04+) 操作系统上, 需要使用 apt 安装依赖: valac meson libglib2.0-dev libgee-0.8-dev. vala-language-server 需要根据 GitHub 给出的 OBS repo 链接自行安装. 在 Fedora 操作系统上, 需要 dnf 安装的依赖是: vala libgee-devel glib2-devel meson vala-language-server. 没有需要额外安装的依赖. 在 Windows 操作系统上请使用 MSYS2 兼容环境 (清华镜像在此). 目前只有少数几个文本编辑器内置了对...
Musys-IR 设计思路与使用说明 00: 前言
我写 Musys 的想法是在 8 月一个闷热的上午诞生的。当此之时,我参与的编译器实现赛项目刚刚结束,我所在的组甚至连最后一个提交的机会都赶不上。在这场比赛中,除了过度设计带来的实现困难以外,我可受够了该死的 C++ ——总有从不知道哪个角落冒出来的特性绊我一脚,轻则编译不通过,重则推翻重写,甚至让我不得不就此换个思路重来。 看着 3 万多行的屎山, 我决定换一门语言重写一遍我趟了无数次坑的编译器项目。这一次效率要越高越好,操心的东西越少越好…就这样,我打算继续借鉴 LLVM, 使用 Vala 语言重新写一个编译器框架, 前后端都包下的那种——名字就脸滚键盘随便敲一敲,叫 Musys 也不赖。就这样, Musys 编译器框架诞生了. 现在, Musys 编译器框架是一个类 LLVM 的中间代码系统, 具有一些基本的优化功能. 我把它开源到了 GitHub 上, 下面是它的几个下载链接: GitHub: https://github.com/medihbt/musys-ir Codeberg (只读镜像):...
更新计划
新个人站建成以后, 一些老文章要迁移, 还有一些新东西要写. 但我已经熬了通宵, 撑不住了. 写个催更列表罢. Vala 相关 浅浅试水 GTK 系列 假想语言系列 Meson 手账 RISC-V 和操作系统相关 rCore 回顾系列 ArceOS MYGL-BinUtil 开发日志 Musys-IR 编译器系列 Musys 开发历程系列 Musys 与优化器 Musys 上手手册 假想语言和 Musys 搞机! 手机也搞生产力 – Termux 折腾 Musys 完了等下要做什么我给忘了你看, 熬个大夜多伤身体 旧站搬运 动态 “探索”栏目的项目列表
Hello World Again
亏麻了家人们, 换个硬盘把原来那台 KVM 虚拟机丢了. 原来想着只要把换出来的系统盘拿来当移动硬盘使, 然后我一公一私两个博客都能保全;结果现在都丢完了, 原来那个 Fedora 系统连 GRUB 都进不去. 我的十几篇笔记和动态啊, 它咋办哪… 重新配置一遍吧, 反正新虚拟机运行了足足一个月, 生产力和原来那几台比真的遥遥领先, 重新搭个人站也不是问题. 所以现在是恢复专场, 我要把我原来那套 Hexo + Butterfly 的配置救回来. 配置简报该 Hexo 服务器运行在 Ubuntu QEMU/KVM 本地服务器内. 虚拟机平台: QEMU/KVM QEMU emulator version 9.1.2 (qemu-9.1.2-2.fc41) Virt-manager 4.1.0 主机 OS: Fedora Linux 41 (GNOME 47) 操作系统: Ubuntu 24.04 服务器版 NodeJS: v22.11.0 LTS, 从...