仓库包构建
于仓根行豫构。包名取 。包。豫 之文件名,其所在即包根。配置唯解语法,不行其文。主名与依赖之制,见包系统。
包界
库有标准库、拓展库、工具包、构建基础、包配置五包。标准库无外依;构建基础司包定位、上下文与并行调度,不依编译器。编译器居同名目录,依标准库、拓展库、构建基础。包配置用编译器之 parser;豫构复依包配置,故不可反使编译器依豫构。
工具各有目录、包籍与入口,不复立工具总包。共享排版之术别置库/源码排版。测试、性能研究、文档各立测试、性能研究、文例包。标准库之测试若用拓展库,迁于 测试/标准库,免反依成环。测试有预期失败之文,不可尽以构建成功为验。*_v0 不察;旧界面草稿移至文档/界面语法设想。豫。
导入
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「多态列」之书。
寻观「构建基础」之「包定位」之书。
首例独书标准库,则取 库/标准库/总集。豫,模块仍称标准库。众包同此法:总集须手书,缺则报,不择他书,不循当前目录。内核入标准库目录。总集非程序入口,不删诵,不易重导出之义。
库、工具、应用皆为分类目录,非导入之名;各包同位。旧标准库转发书与特殊搜索之途皆除。
构建
make 豫构
make 类型检查 豫构测试
./yy豫构 检查 豫言编译器
./yy豫构 构建 豫言编译器 --输出 yy编译器
./yy豫构 构建 文档网站生成器 --输出 yy文档网站
./yy豫构 构建 测试 标准库 数据结构 可选值。测试 --输出 yy可选值测试
./yy可选值测试
构建与类型检查可于包名后明言入口各段,不带扩展名,不复书包名。不言则取包文件之入口。无默认入口者仍可供依赖,亦可明择程序而建之。入口虽异,不越子包,不宽直依之禁。
初举
发布包同造 yy_bs_stable 与 yy豫构_stable,两种置仓根。make 自初级即由稳定豫构按包图造 yy2_bs、yy3_bs、yy4_bs,比定点,再造正式豫构;不复造单文件引导器。
文件式编译命令仍可用,然皆委豫构,非旧搜索也。行 ./yy豫构 自举包 --输出 dist/新包,导出两种;目录须新,LLVM 唯取此次编译之闭包。
依赖、位置、子包之界有变,则缓存别域,不误用旧绑定。LLVM 与运行时之要求不变。远程获取、版本求解与锁文件,皆未设。