副语言:现有编程语言的玩具版本

时间:2024-07-18 12:37:51
【文件属性】:

文件名称:副语言:现有编程语言的玩具版本

文件大小:21KB

文件格式:ZIP

更新时间:2024-07-18 12:37:51

sublingual

副语言:现有编程语言的玩具版本这是通过采用“更大”的语言(例如 Rust)并删除各种功能而创建的玩具语言的集合。每一种这样的玩具语言都带有:原型实现总是一个解释器(const-eval 功能可以重用)可选的简单后端(例如到 WASM)来自原始语言的测试套件的测试列表及其行为理想情况下,测试要么表现相同,要么无法编译例如对于 Rust,这将涉及rust-lang/rust的src/test由于编译依赖项的固有困难(例如每种语言的标准库),有些可能会被“模拟”。动机这些玩具语言的主要用例是在试验不同的编译器架构时具有固定的“测试对象”。使用现有的(相对)“小”语言看起来很简单,但实际上没有很多选择,特别是在尝试探索仅在少数“大”语言中发现的特定功能的实现策略时,或者甚至只有一个。允许我们任意砍掉特征并继续测试的见解是,现有的“大型”语言的测试套件可以大多是正交的,无论是有意的还是逐渐演变的,因此许多测试不需要太多超出他们正在明确测试。请注意,这与尝试编译大型代码库不同,后者注定会同时实现更多功能 - 这包括测试使用的库(例如,用于 Rust 的标准库),并导致潜在的“嘲笑”,如上一节所述。


【文件预览】:
sublingual-main
----.gitignore(17B)
----Cargo.lock(7KB)
----Cargo.toml(36B)
----.gitmodules(113B)
----LICENSE-MIT(1023B)
----README.md(2KB)
----subrust()
--------src()
--------Cargo.toml(458B)
--------official-testsuite-data()
--------tests()
----.gitattributes(201B)
----LICENSE-APACHE(11KB)

网友评论