The Wayback Machine - https://web.archive.org/web/20220118005744/https://github.com/wa-lang/ugo-compiler-book
Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
zz
Dec 5, 2021
zz
Dec 12, 2021
zz
Dec 12, 2021
zz
Dec 12, 2021
zz
Dec 12, 2021
zz
Dec 12, 2021
zz
Dec 12, 2021
zz
Dec 12, 2021
zz
Dec 12, 2021
zz
Dec 12, 2021
zz
Dec 12, 2021
Nov 25, 2021
zz
Dec 12, 2021
zz
Dec 12, 2021
Dec 22, 2021
Dec 15, 2021
zz
Dec 12, 2021
zz
Dec 12, 2021
Jan 17, 2022
zz
Dec 17, 2021
Jan 17, 2022
zz
Nov 11, 2021
zz
Dec 16, 2021
zz
Nov 3, 2021
zz
Dec 29, 2021
Jan 17, 2022
Jan 17, 2022
Jan 17, 2022
Dec 5, 2021
Jan 17, 2022
Dec 14, 2021
Dec 5, 2021

《µGo语言实现——从头开发一个迷你Go语言编译器》



本书尝试以实现 µGo 编译器为线索,以边学习边完善的自举方式实现一个玩具语言。


Why: 凹(读音Wa)坑的起因

  • 因为坑就在那里
  • 不希望被Rxxx语言把脸摁在地上摩擦
  • 凹坑的工具差不多齐全了

What: µGo 例子

package main

import "libc"
import m "libc.math"

const Pi = 3.14
const Pi_2 = Pi * 2

type MyInt int
type MyInt2 = int

var x = println(1 + 2*(3+4) + -10 + double(50))

func println() int

func main() int {}

Output: 输出的目标格式

为了跨平台和方便测试,输出LLVM汇编代码,如果以后可能会增加WASM文件。

License 版权

学习目的可自由使用。

Releases

No releases published

Packages

No packages published

Languages