文件名称:minigo:minigo是一个从头开始制作的小型Go编译器。 它可以自行编译
文件大小:175KB
文件格式:ZIP
更新时间:2024-02-21 05:10:11
go golang parser compiler assembly
Minigo :front-facing_baby_chick: 从头开始的Go编译器。 描述 minigo:front-facing_baby_chick:是从头制作的小型Go编译器。 它可以自行编译。 生成单个静态二进制可执行文件 不依赖yacc / lex或任何外部库 标准库也从头开始 它仅取决于GNU汇编器和GNU ld。 minigo仅支持x86-64 Linux。 设计 我几乎没有阅读原始的Go编译器就做到了。 minigo从以下minigo继承了其大部分设计: 8cc( ) 8cc.go( ) 编译过程分为几个步骤。 [执行源]-> byte_stream.go-> [字节流]-> token.go-> [令牌流]-> parser.go-> [AST]-> gen.go-> [汇编代码] 怎么跑 您需要Linux,所以我建议您使用Docker。 $ docker run --rm -it -w /mnt -v ` pwd ` :/mnt dqneo/ubuntu-build-essential:go bash 进入容器后,您可以构建并运行它。