1个不稳定版本
0.0.1 | 2024年6月11日 |
---|---|
0.0.0 |
|
#13 in #pulsar
用于 pulsar-lang
205KB
5K SLoC
pulsar
Pulsar 是一种用于构建硬件加速器的高级编程语言。目前,我正在努力实现一个 calyx 后端。它目前是一个非常原始的语言,因为我还没有确定它应该如何特殊化(但所有实际的ADLs都是DSLs)。
语法是一个非常明显的Swift的克隆,并进行了一些修改,而且也是一个非常多的WIP。
func increment(x: Int) -> Int {
return x + 1
}
func main() {
let input = [1, 2, 3, 4]
let output = map<1>(increment, input)
}
编译器通过 verilator 进行了端到端测试,这是一个硬件仿真工具。
仓库
pulsar-lang
: 编译器驱动程序pulsar-utils
: 为pulsar-*
仓库提供的实用工具pulsar-frontend
: 解析器/AST和类型检查pulsar-ir
: 结构化和非结构化IRpulsar-backend
: 目标发射,例如Verilog(通过 calyx)
依赖项
~7–19MB
~208K SLoC