有没有尝试过的人,想做怎样的?
1
ZingLix 2021-01-10 20:57:37 +08:00
拿 LLVM 写过一个,想的是简化 C++,但写着写着发现我这想法不如直接去用 Rust
github.com/ZingLix/R-Cpp,有兴趣的可以看看 test/src.rpp 和 Wiki,分别是已经实现的和其他的想法 其实我的设计都是拍脑袋想出来的,真写起来细节要考虑的还真的很多 |
2
thedrwu 2021-01-10 21:02:41 +08:00 via Android
谁没给自己的程序写过 config 语言的解释器?
若是创造没有新意的语言,只是造个轮子而已。 |
3
Mohanson 2021-01-10 21:11:17 +08:00
python + llvm 自学了几周, 写过一门叫 douz(最靠近撒哈拉沙漠的人族聚居地) 的简单语言, 它的斐波那契函数长这样:
``` def fib(n) { if n 3 < { n; } or { fib(n 1 -) fib(n 2 -) +; }; } def main() { fib(10); # Exit with code 89 } ``` https://github.com/mohanson/pydouz/blob/master/examples/fib.dz 没精力继续做下去, 感觉编译器前端和后端都是体力活, 编译器中端才是精华所在(数学, 统计学... ...). 但是用了 llvm, 基本上就只能去写前端了. |
4
Mohanson 2021-01-10 21:17:52 +08:00
我觉得更合理的学习方式是为一门已经存在的语言写
1) 解释器 2) 设计解释器的中间代码 3) 中间代码优化 4) 基于中间代码的 AOT 编译器 5) 解释器 + JIT 编译器 我觉得 Go 拿掉 goroutine, 写 Go 的解释器开始就挺不错的. |
5
redwing2003 OP 那我问一下大家喜欢头文件还是命名空间 module 还是 private public protected 做访问控制
|
6
chengs 2021-01-11 00:36:33 +08:00 via iPhone
这个是涉及多元的科学,不是兴趣就能搞定的。看起来是自创实际在模仿。
|
7
love 2021-01-11 10:03:28 +08:00
现在的语言都互相抄得集大成了,以前烂得一 b 的没设计 javascript 现在都出人意料的好用了,写起来比有设计的 python 都舒服
|