文件后缀
豫言以文缀别文之类。源文皆以全角句号加“豫”字终(。豫),模块名与类段之间亦以全角句号隔之,如 字节串。豫、宿主。接口。豫、逐元。底层。测试。豫。缀定四事:文中可书者何,无体之声谁供之,依何模编之,导时得何模。此篇依今之仓列诸缀,各附仓中一例:缀一言源文,缀二言导时寻文之序,缀三言文书、试料、构建所出诸他文。诸子语言共守之则及其相配之道,见子语言设计。
诸条以“缀”编号。
缀一:源文
导之路惟书模块名,类段由编译器依缀二补之。如 寻观「豫章」之「形制」之「帛书」之书。,所得之文为 库/豫章/形制/帛书。豫。
高级之源
高级之源有垃圾回收,编为 WasmGC 之模。
| 缀 | 所载 | 例 |
|---|---|---|
名。豫 |
常源,一文一模;顶层惟有定义,其值惟数据(见执行与编译行一) | 库/豫章/形制/帛书。豫 |
名。脚本。豫 |
脚本:顶层即程序之体,依次行之;可独编独行,亦可以 豫构 运行 径行之(提案〇〇〇〇三);不可导;具同名所期之出(。期望 或 。成功)者,全树之试以编而行与单元装载二法各行之 |
应用/度量/列段/基准。脚本。豫 |
名。会话。豫 |
会话:编程之智能体捉刀之一会(提案〇〇〇三六)。行首(前惟空白)为 | 之行,篇中块之文也,读源时先尽空其行而留换行,余即一篇脚本,依脚本编而行之;| 行所书皆不必转。此书惟行于会话之文。不可导,不为包中之模;排版与格式之核皆略之 |
会话。会话。豫 |
名。测试。豫 |
单元之试:顶层即程序之体,可独编独行;构库则略之,全树之试自得而行之;惟试与脚本可导试 | 应用/豫构/包系统。测试。豫 |
名。接口。豫 |
宿主接口:唯书类型与 乃 之签,宿主或构建时所绑之适配实之;每声编为带型之 Wasm 导入,导入之模名为所在包之短名 |
库/豫章/东道。接口。豫,导入之模曰“标准库” |
名。应用接口。豫 |
应用接口:应用或库实之,入口或任一链入之常模定同名之顶层函则编为导出 | 豫寓榫卯/网页服务/网页理。应用接口。豫 |
名。内建。豫 |
内建之声:编译器所供之语言原语,其签依编译器之原语表校之 | 库/豫章/本原/本术。内建。豫 |
着色之文
着色之文以豫言常法书图形处理器之着色程序,详见着色语言。
| 缀 | 所载 | 例 |
|---|---|---|
名。着色器。豫 |
着色之源:检类而后译为 WGSL、MSL 与 PTX;高级之代导之,得构时所生之模 | 库/算阵/公用。着色器。豫 |
名。着色器。接口。豫 |
着色内建之声:着色之的所供之算与内建之函 | 库/点染/点染本。着色器。接口。豫 |
名。着色生成。豫 |
虚径:高级之代导着色之源所得之生模,译器构时生之,唯存于编译之中 | 导 公用。着色器。豫,得 公用。着色生成。豫 |
设计之言
设计之言(提案〇〇〇一八)之作品以构造之书书于设计之源,由引擎之库「设计」求值而渲之。
| 缀 | 所载 | 例 |
|---|---|---|
名。设计。豫 |
设计之源:顶层即程序之体,可呼函(编译期之常量折叠由行顶层而得),定作品「作品」;凡源文皆可依模名导之,导后顶层于载时求之 | 库/匠心/样例/你好。设计。豫 |
名。设计 |
设计之二进:树码之种「设计」(外框同树码,设计之头书能、预算、时长、画幅与段表,后接结构段),由 豫构 设计 编译 编之,播放器载时验之;豫构 设计 还原 书回其源 |
你好。设计(编自 你好。设计。豫) |
底层之文
名含“。底层”者为底层之文:无垃圾回收,编为整数 Wasm,用于执行器、驱动、张量内核诸系统之代。语言之子集与后端,见 应用/豫言编译器/文档/底层模式.文言.md。
| 缀 | 所载 | 例 |
|---|---|---|
名。底层。豫 |
底层之源 | 豫言操作系统/裸机/客体二号/入口。底层。豫 |
名。底层。测试。豫 |
底层单元之试,全树之试照常得而行之 | 库/底层库/中枢算阵/测试/逐元。底层。测试。豫 |
名。底层接口。豫 |
底层接口:每无体之声编为一 Wasm 导入,导入之模名为文名去其缀 | 豫言操作系统/裸机/原生样例/你好/林纳。底层接口。豫,导入之模曰“林纳” |
名。底层内建。豫 |
底层内建之声:底层库之原语表,其调就地编为 Wasm 之令 | 库/底层库/本术。底层内建。豫 |
包述
| 缀 | 所载 | 例 |
|---|---|---|
名。包。豫 |
包述:名称、所有者、版本、简介、说明、类型、依赖诸字段,豫构读之;以为模而导之则报错 | 库/豫章/豫章。包。豫 |
数据之文
数据之文(数据子语言,提案〇〇〇二八)藏静数。
| 缀 | 所载 | 例 |
|---|---|---|
名。数据。豫 |
数据之文:其顶惟置导入、签名与 「名」者 值 也。;值为字面(串、整数、小数、阳、阴、元)、「列」【…】 与构造之书 「头」【「字段」者 值 也,…】,构造之首与独书之名为值之构造器(立)。高级之文导之,得有类之顶层数据;惟供导,以为程之入口则报错;豫构构库、检库之时,数据之文随导者而编 |
应用/豫言编译器/校场/语法/数据文件/正确。数据。豫,社区包仓库根之 工具链钉。数据。豫 |
- 检类分二步:检前察其书法,值中之函、算与余呼,及以
即、立定义者,皆报错而明其故;检后察构造之首与独书之名为值之构造器。字段之名、类与必填,由构造之书降级依首之签检之(标签函数类型签七),字段之名误书则报“构造「头」没有属性「名」”。 「列」【…】径用内建之列构,数据之文不必导标准库;签名书「列」「文」等类名者,导标准库。- 独检一数据之文:
豫构 类型检查 <包> <模块段…>,如豫构 类型检查 软件目录 测试 样例。 - 运行时所下所读之数据之文,库「数据文件」惟析其词与语法以读书之;工具与 CI 相授之清单、软件目录(如包仓库之
/豫/社区/软件/豫言-兼容六十四。数据。豫)与工具链钉皆书为数据之文。 「典」【…】惟供库「数据文件」于运行时读之;编与导之时,「典」之类留待后续之版,数据之文书「典」则报错。
约定之文名
入口。豫:可执行之包常用之入口模名,包述之「类型」书「入口」者『入口』也;其定入口之函「入口」(类化「有」而「有」),包述可以「入口函数」别指一名。底层可执行之包,其入口之文曰入口。底层。豫。
兼容之入,亦受以 .yuyan 终之源文之径。
缀二:寻模
导之路末段为模块名。编译器依导者之类,于模块名后依次补下列诸缀,取首存之文:
| 导者 | 依次所求 |
|---|---|
| 高级之文 | 名。豫、名。接口。豫、名。应用接口。豫、名。内建。豫、名。着色器。豫、名。设计。豫、名。数据。豫 |
| 着色之文 | 名。着色器。豫、名。着色器。接口。豫 |
| 底层之文 | 名。底层。豫、名。底层接口。豫、名。底层内建。豫 |
- 导之路唯书包名(或止于子)者,先依库包述「类型」中之「默认导入」展为若干目,每目再依导者之类补上表之缀(见豫构包系统“默认导入”)。
- 诸项皆无则报“包内模块不存在”。高级之文所导之模唯有底层之文,则报错附“这是底层模块,高级代码不能导入”;底层之文寻模不得,则报错列其可导之三缀。
- 包之入口与
豫构 文件所指之文,高级、底层皆可,所求之序为表中高级、底层二行相接。数据之文可为检类之入口;构程之时以之为入口则报错。 - 试与脚本以全名导之(末段书
名。测试、名。脚本):试惟试与脚本可导,常模导试则报“普通模块不能导入测试”;脚本不可导,导之则报“脚本不能被导入”。 - 程序之模视其入口之文:入口为底层之文,则全程行底层之管;余者行高级之管,编为 WasmGC。
如 豫言操作系统/裸机/原生样例/你好/入口。底层。豫 为底层之文,其二导曰:
寻观「磐石」之书。
寻「原生你好」之「林纳」之书。
前者依底层库之默认导入,展为 基、仓廪、格、址算 四底层之模(如 库/底层库/基。底层。豫),后者取同包之 林纳。底层接口。豫。
缀三:他文
文名除半角点外皆汉字者,其缀一以全角句号隔之;英文之缀(.md、.html、.wasm 等)以半角点接之。以半角点接汉字之缀者,旧名也,仓中已尽改以全角句号(汇编树码已改为 。树码,工具链亦识旧名 .树码);CI 之 formatting check 于 Git 所录之文、名除半角点外皆汉字者书警,于本机以 ./格式检查。林檎。豫行 --文件名 列之。
文书
| 缀 | 所载 | 例 |
|---|---|---|
名.汉语.md、名.文言.md |
一篇之今文稿与文言稿,并存而同修;包述之「说明」登包说之二篇 | 库/豫章/包说明.汉语.md、库/豫章/包说明.文言.md |
试料
| 缀 | 所载 | 例 |
|---|---|---|
名。输入 |
定试之入:喂受试之程之键入之文,可含控制之字 | 豫言操作系统/裸机/壳/测试/中断。输入 |
名其编号。豫 配 名。成功 或 名。失败 |
黄金之样:同组源文以编号名之,“其”后逐位书其号以汉字之数(名其一。豫、名其二。豫……名其一零。豫);顶层即程序之体;标记之文书其所期。。成功 者须编之行之皆成,标记之文非空则标准出须与之同;。失败 者须编或行而败,标记之文非空则所出须含其文 |
库/豫章/测试/内建/一元积其一。豫 配 一元积。成功 |
名。期望 |
所期之出:命令壳之试、原生一致之探诸器,依之校程序所出 | 豫言操作系统/裸机/壳/测试/基本。期望 |
名。测试页.html |
浏览器之试页,于浏览器启而行之 | 豫言操作系统/宿主/浏览器/中断。测试页.html |
名。测试.mjs、名。测试.cjs、名.test.mjs、名.test.cjs、名.e2e.mjs |
宿主之代(JS)之试,全树之试以 node --test 行之 |
豫言操作系统/宿主/云工/公网取。测试.mjs |
名。包。豫.txt |
包述之模板:验收所用之包述,豫构发行之自动法抄为真 。包。豫 而后用之;寻包唯收 。包。豫 |
库/群书/藏时部/芥子/验收/箧卷/目录文件验收。包。豫.txt |
构建所出与缓存
| 缀 | 所载 | 例 |
|---|---|---|
名。林檎。豫行、名。林纳。豫行 |
宿主之本机原生之程(林檎为 Mach-O,Linux 为 ELF),系统之名从 --目标系统 之书:豫构 构建 <包> --输出 名。林檎。豫行;未书 --输出 者豫构依本机之系统补此缀。轩窗以扩名辨可行之文,本机之程为 名.exe(易为 名。轩窗。豫行 俟后续之版)。仓依此略之 |
格式化。林檎。豫行 |
名。豫行 |
豫行之文:豫言操作系统之可执之文(加 --目标系统 豫言 编之),宿主以豫行启动器行之;仓依此略之 |
豫构兼。豫行 |
名、名.wasm、名。林檎。豫行 |
仓库目标与 CI 所出之工具链(豫构。林檎。豫行、编译器。林檎。豫行、执行器 执行器。树码、网页后端之 编译器.wasm、豫构.wasm 等)及轩窗之 .wasm 诸器,皆置仓根;仓根以白名单录之,此等所出一概略之 |
豫构.wasm、编译器。林檎。豫行 |
名。树码 |
编译器诸阶段之中间所出,存于构建之缓存 | .豫构缓存/豫构语言服务/<包述基名>。语言服务。树码 |
名。树码 |
汇编树码:编译器出径以 。树码 终者所书之豫汇之模,豫言系统之臂工具映像径由之生;底层之模书为底层豫汇(执行器 执行器。树码,原生之产与豫行径由之生) | 豫构。树码、执行器。树码 |
单元序号.单元 |
装载单元:编译器加 --目标 单元 --执行器 执行器 者为每模所书之单元之文(模之元数、预编之机器码、重定位与符号,见《豫行格式》“装载单元”;提案〇〇〇〇三),与同名之 .wasm 同置一出目录 |
单元3.单元 |
名。清单。豫行 |
清单豫行:一程之诸装载单元依装之次合成之单文(豫构 构建 <包> --清单 --输出 名。清单。豫行 书之,见《豫行格式》“清单豫行”;提案〇〇〇三八),豫构 运行 装而行之;壳之「行」遇此后缀则付会话之豫构行之 |
开发。清单。豫行 |
号.上下文 |
包上下文:豫构授编译器之包目(制表分隔之文,第五式),依内容存于今目录之 .豫构缓存/豫构上下文,编译器以 --package-context 读之 |
.豫构缓存/豫构上下文/557988.上下文 |
号.上下文。境检 |
境检(包上下文二进制之索):存放目录之上下文初启则书于其旁,记上下文之原文、仓根前缀与诸包之箧、身份、缓号,编译之务依之寻所属与缓号,不解全文 | .豫构缓存/豫构上下文/557988.上下文。境检 |
豫言系统造盘
| 缀 | 所载 | 例 |
|---|---|---|
名。预置 |
预置之目(亦可为指目之链):造盘时全树入盘,其中 名。豫 编为 Wasm |
豫言操作系统/裸机/壳/测试/示例。预置 |