Skip to content

Commit

Permalink
[chore] 重命名赛方的模版
Browse files Browse the repository at this point in the history
  • Loading branch information
BreakingLead committed Sep 6, 2024
1 parent 5b01ec9 commit 8bb24da
Show file tree
Hide file tree
Showing 27 changed files with 165 additions and 93 deletions.
26 changes: 0 additions & 26 deletions license

This file was deleted.

17 changes: 5 additions & 12 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
# MiniMoonBit
# MoonBite

我们在去年开设了使用 [MoonBit](https://moonbitlang.com) 教学的[现代编程思想](https://space.bilibili.com/1453436642/channel/collectiondetail?sid=1822058)课程,课程已全部完结并上线,现在,我们计划将在《现代编程思想》课程基础上开设一门新的进阶课程:程序语言理论设计与实现, 这门课的主题将围绕 Mini Moonbit in MoonBit 展开,将 MoonBit 的一个子集作为教学案例,抽丝剥茧,介绍如何设计和实现一个现代编程语言。

- [MoonBit 线下 MeetUP](https://www.huodongxing.com/event/reg_submit?id=8769783665900)
- [游戏赛道](https://mp.weixin.qq.com/s/lzg2wmqZeNeYzDWRMye43Q)
- MiniMoonBit 赛道 (TBA)
- [MoonBit 线上课程](https://mp.weixin.qq.com/s/5pK-eD_C5tAoCDvy-PmbMg)

# 课程安排
一个 MiniMoonbit 的编译器。

| Date | Topic | Slides | Video | Example code | Recommended reading |
| ------ | -------------------------------------------------- | ------ | ----- | ------------ | ------------------- |
Expand All @@ -16,7 +9,7 @@
| Part 2 | Parsing | | | | |
| Part 3 | Semantics analysis and type inferences | | | | |
| Part 4 | Bidrectional type checking |
| Part 5 | IR designs (ANF, CPS, KNF) |
| Part 5 | IR designs (ANF, CPS, KNF) |
| Part 6 | Closure calculus | | |
| Part 7 | Register allocation | | | | |
| Part 8 | Garbage collection | | | | |
| Part 7 | Register allocation | | | | |
| Part 8 | Garbage collection | | | | |
2 changes: 2 additions & 0 deletions riscv_rt/zig-cache/h/653405ff591b559e47dd7929a7ea39c0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
0
56116 562949955104260 1691117041000000000 1b0d1c80b5d285db3599ef03d646eb46 1 libc\mingw\lib-common\ntdll.def.in
2 changes: 2 additions & 0 deletions riscv_rt/zig-cache/h/cfe61d18c2af0d7c87964e112302563c.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
0
35154 562949955104229 1691117041000000000 d5bfdda44216aa5c504c9e54af3b567b 1 libc\mingw\lib-common\kernel32.def.in
Empty file.
Empty file added riscv_rt/zig-cache/h/timestamp
Empty file.
97 changes: 97 additions & 0 deletions riscv_rt/zig-cache/o/35c8925609dd628e88a604ae6f840a50/builtin.zig
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
const std = @import("std");
/// Zig version. When writing code that supports multiple versions of Zig, prefer
/// feature detection (i.e. with `@hasDecl` or `@hasField`) over version checks.
pub const zig_version = std.SemanticVersion.parse(zig_version_string) catch unreachable;
pub const zig_version_string = "0.11.0";
pub const zig_backend = std.builtin.CompilerBackend.stage2_llvm;

pub const output_mode = std.builtin.OutputMode.Exe;
pub const link_mode = std.builtin.LinkMode.Static;
pub const is_test = false;
pub const single_threaded = false;
pub const abi = std.Target.Abi.gnu;
pub const cpu: std.Target.Cpu = .{
.arch = .x86_64,
.model = &std.Target.x86.cpu.skylake,
.features = std.Target.x86.featureSet(&[_]std.Target.x86.Feature{
.@"64bit",
.adx,
.aes,
.allow_light_256_bit,
.avx,
.avx2,
.bmi,
.bmi2,
.clflushopt,
.cmov,
.crc32,
.cx16,
.cx8,
.ermsb,
.f16c,
.false_deps_popcnt,
.fast_15bytenop,
.fast_gather,
.fast_scalar_fsqrt,
.fast_shld_rotate,
.fast_variable_crosslane_shuffle,
.fast_variable_perlane_shuffle,
.fast_vector_fsqrt,
.fma,
.fsgsbase,
.fxsr,
.idivq_to_divl,
.invpcid,
.lzcnt,
.macrofusion,
.mmx,
.movbe,
.nopl,
.pclmul,
.popcnt,
.prfchw,
.rdrnd,
.rdseed,
.rtm,
.sahf,
.sgx,
.slow_3ops_lea,
.sse,
.sse2,
.sse3,
.sse4_1,
.sse4_2,
.ssse3,
.vzeroupper,
.x87,
.xsave,
.xsavec,
.xsaveopt,
.xsaves,
}),
};
pub const os = std.Target.Os{
.tag = .windows,
.version_range = .{ .windows = .{
.min = .win10_fe,
.max = .win10_fe,
}},
};
pub const target = std.Target{
.cpu = cpu,
.os = os,
.abi = abi,
.ofmt = object_format,
};
pub const object_format = std.Target.ObjectFormat.coff;
pub const mode = std.builtin.Mode.Debug;
pub const link_libc = false;
pub const link_libcpp = false;
pub const have_error_return_tracing = true;
pub const valgrind_support = true;
pub const sanitize_thread = false;
pub const position_independent_code = true;
pub const position_independent_executable = false;
pub const strip_debug_info = false;
pub const code_model = std.builtin.CodeModel.default;
pub const omit_frame_pointer = false;
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
pub const imports = struct {
};
pub const build_root = struct {
};
Binary file not shown.
2 changes: 1 addition & 1 deletion src/bin/bin.mbti
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package moonbitlang/minimbt/bin
package breakinglead/moonbite/bin

// Values

Expand Down
20 changes: 10 additions & 10 deletions src/bin/moon.pkg.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@
"lijunchen/unstable_io/env",
"Yoorkin/ArgParser",
"lijunchen/unstable_io/fs",
"moonbitlang/minimbt/parser",
"moonbitlang/minimbt/lex",
"breakinglead/moonbite/parser",
"breakinglead/moonbite/lex",
{
"path": "moonbitlang/minimbt",
"path": "breakinglead/moonbite",
"alias": "types"
},
"moonbitlang/minimbt/knf",
"moonbitlang/minimbt/typing",
"moonbitlang/minimbt/knf_eval",
"breakinglead/moonbite/knf",
"breakinglead/moonbite/typing",
"breakinglead/moonbite/knf_eval",
"lijunchen/unstable_io/io",
"moonbitlang/minimbt/closure",
"moonbitlang/minimbt/riscv",
"moonbitlang/minimbt/util"
"breakinglead/moonbite/closure",
"breakinglead/moonbite/riscv",
"breakinglead/moonbite/util"
]
}
}
6 changes: 3 additions & 3 deletions src/closure/closure.mbti
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package moonbitlang/minimbt/closure
package breakinglead/moonbite/closure

alias @moonbitlang/minimbt as @minimbt
alias @moonbitlang/minimbt/knf as @knf
alias @breakinglead/moonbite as @minimbt
alias @breakinglead/moonbite/knf as @knf

// Values
fn knf_program_to_closure(@knf.Knf, Map[String, @minimbt.Type]) -> Program
Expand Down
8 changes: 4 additions & 4 deletions src/closure/moon.pkg.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"import": [
{
"path": "moonbitlang/minimbt",
"path": "breakinglead/moonbite",
"alias": "types"
},
"moonbitlang/minimbt/knf",
"moonbitlang/minimbt/util"
"breakinglead/moonbite/knf",
"breakinglead/moonbite/util"
]
}
}
4 changes: 2 additions & 2 deletions src/knf/knf.mbti
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package moonbitlang/minimbt/knf
package breakinglead/moonbite/knf

alias @moonbitlang/core/immut/hashmap as @hashmap
alias @moonbitlang/minimbt as @minimbt
alias @breakinglead/moonbite as @minimbt

// Values

Expand Down
12 changes: 6 additions & 6 deletions src/knf/moon.pkg.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"import": [
{
"path": "moonbitlang/minimbt",
"path": "breakinglead/moonbite",
"alias": "types"
},
"moonbitlang/minimbt/util"
"breakinglead/moonbite/util"
],
"test-import": [
"moonbitlang/minimbt/parser",
"moonbitlang/minimbt/lex",
"moonbitlang/minimbt/typing"
"breakinglead/moonbite/parser",
"breakinglead/moonbite/lex",
"breakinglead/moonbite/typing"
]
}
}
6 changes: 3 additions & 3 deletions src/knf_eval/knf_eval.mbti
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package moonbitlang/minimbt/knf_eval
package breakinglead/moonbite/knf_eval

alias @moonbitlang/core/immut/hashmap as @hashmap
alias @moonbitlang/minimbt as @minimbt
alias @moonbitlang/minimbt/knf as @knf
alias @breakinglead/moonbite as @minimbt
alias @breakinglead/moonbite/knf as @knf

// Values

Expand Down
14 changes: 7 additions & 7 deletions src/knf_eval/moon.pkg.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"import": [
"moonbitlang/minimbt/knf",
"breakinglead/moonbite/knf",
{
"path": "moonbitlang/minimbt",
"path": "breakinglead/moonbite",
"alias": "types"
},
"moonbitlang/minimbt/util"
"breakinglead/moonbite/util"
],
"test-import": [
"moonbitlang/minimbt/parser",
"moonbitlang/minimbt/lex",
"moonbitlang/minimbt/typing"
"breakinglead/moonbite/parser",
"breakinglead/moonbite/lex",
"breakinglead/moonbite/typing"
]
}
}
2 changes: 1 addition & 1 deletion src/lex/lex.mbti
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package moonbitlang/minimbt/lex
package breakinglead/moonbite/lex

// Values

Expand Down
2 changes: 1 addition & 1 deletion src/minimbt.mbti
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package moonbitlang/minimbt
package breakinglead/moonbite

// Values

Expand Down
4 changes: 2 additions & 2 deletions src/moon.pkg.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"import": [
"moonbitlang/minimbt/util"
"breakinglead/moonbite/util"
]
}
}
6 changes: 3 additions & 3 deletions src/parser/moon.pkg.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"import": [
"moonbitlang/minimbt/lex",
"breakinglead/moonbite/lex",
{
"path": "moonbitlang/minimbt",
"path": "breakinglead/moonbite",
"alias": "types"
}
]
}
}
2 changes: 1 addition & 1 deletion src/parser/parser.mbti
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package moonbitlang/minimbt/parser
package breakinglead/moonbite/parser

// Values

Expand Down
8 changes: 4 additions & 4 deletions src/riscv/moon.pkg.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"import": [
"moonbitlang/minimbt/closure",
"breakinglead/moonbite/closure",
{
"path": "moonbitlang/minimbt",
"path": "breakinglead/moonbite",
"alias": "typing"
},
"moonbitlang/minimbt/util",
"breakinglead/moonbite/util",
"lijunchen/unstable_io/env"
]
}
}
2 changes: 1 addition & 1 deletion src/riscv/riscv.mbti
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package moonbitlang/minimbt/riscv
package breakinglead/moonbite/riscv

// Values
fn asm_stringify(AssemblyFunction) -> String
Expand Down
8 changes: 4 additions & 4 deletions src/typing/moon.pkg.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"import": [
{
"path": "moonbitlang/minimbt",
"path": "breakinglead/moonbite",
"alias": "types"
}
],
"test-import": [
"moonbitlang/minimbt/lex",
"moonbitlang/minimbt/parser"
"breakinglead/moonbite/lex",
"breakinglead/moonbite/parser"
]
}
}
2 changes: 1 addition & 1 deletion src/typing/typing.mbti
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package moonbitlang/minimbt/typing
package breakinglead/moonbite/typing

// Values

Expand Down
2 changes: 1 addition & 1 deletion src/util/util.mbti
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package moonbitlang/minimbt/util
package breakinglead/moonbite/util

// Values
fn die[T](String) -> T
Expand Down

0 comments on commit 8bb24da

Please sign in to comment.