工具适配。豫
yuyan · 369 行 · 16313 字节 · UTF-8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「多态列」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。
寻观「标准库」之「操作系统」之「环境变量」之书。
寻观「标准库」之「操作系统」之「命令行参数」之书。
寻观「标准库」之「操作系统」之「子进程」之书。
寻观「标准库」之「输入输出」之「笔」之书。
寻观「豫言终端」之「命令目录」之书。
寻观「豫言终端」之「程序解析」之书。
「:文言:所用之器,明其处;所授之参,不乱其界。汉语:固定工具目录,所有工具通过原生子进程和参数列执行。:」
「指定项目」者「新引用」授以「字符串」于『』也。
「只预演」者「新引用」授以「爻」于「阴」也。
「绝对工具路径」乃化「字符串」而化「字符串」而「字符串」也。
「绝对工具路径」者会「根」而会「路径」而
若「路径名是绝对路径」于「路径」则
「路径」
否则
「路径合并」于「根」于「路径」
也。
「启动目录」者「获取当前路径」于「元」也。
「终端程序位置」者「查找可执行程序」于(「获取程序名」于「元」)也。
「终端工具目录」者
虑「指定」者「获取环境变量」于『YYSH_TOOL_DIR』而
若「指定」中「零」则
「绝对工具路径」于「启动目录」于(「指定」中「一」)
否则
若「终端程序位置」中「零」则「获取文件夹名」于(「绝对工具路径」于「启动目录」于(「终端程序位置」中「一」))否则
「启动目录」
也。
「寻找项目根」乃化「字符串」而「字符串」也。
「寻找项目根」者会「目录」而
若「且」
于(「路径存在」于(「路径合并」于「目录」于『应用/豫言编译器/入口。豫』))
于(「路径存在」于(「路径合并」于「目录」于『应用』))
则
「目录」
否则
虑「父」者「获取文件夹名」于「目录」
而
若「或者」于(「字符串相等吗」于「父」于『』)于(「字符串相等吗」于「父」于「目录」)
则
『』
否则
「寻找项目根」于「父」
也。
「当前管理项目」乃化「有」而「字符串」也。
「当前管理项目」者会「无」而
虑「指定」者「读引用」于「指定项目」而
若「字符串相等吗」于「指定」于『』则
「寻找项目根」于(「获取当前路径」于「元」)
否则
「绝对工具路径」于(「获取当前路径」于「元」)于「指定」
也。
「取工具路径」乃化「字符串」而「字符串」也。
「取工具路径」者会「名」而
虑「路径」者「路径合并」于「终端工具目录」于(『yy』附「名」)而
若「路径可执行」于「路径」则
「路径」
否则
若「且」于(「字符串相等吗」于「名」于『豫构』)于(「路径可执行」于(「路径」附『_stable』))
则
「路径」附『_stable』
否则
「路径」
也。
「取管理编译器」乃化「有」而「字符串」也。
「取管理编译器」者会「无」而
虑「指定」者「获取环境变量」于『YYSH_COMPILER』而
若「指定」中「零」则
「绝对工具路径」于「启动目录」于(「指定」中「一」)
否则
虑「随附」者「路径合并」于「终端工具目录」于『yy编译器』
而
若「路径可执行」于「随附」则
「随附」
否则
「路径合并」于「终端工具目录」于『yy4_bs.wasm』
也。
「打印调用参数」乃化(「列」于「字符串」)而「有」也。
「打印调用参数」者会「参数」而
鉴「参数」而
有「罄」则「元」
或有(「缀」于「首」于「尾」)则
(「打印行」于(『 参数:〈』附「首」附『〉』);
「打印调用参数」于「尾」)
也。
「调用管理程序」乃
化「字符串」而
化「字符串」而
化(「列」于「字符串」)而
「整数」
也。
「调用管理程序」者会「目录」而会「程序」而会「参数」而
若「读引用」于「只预演」
则
(「打印行」于(『工作目录:』附「目录」);
「打印行」于(『程序:』附「程序」);
「打印调用参数」于「参数」;
「零」)
否则若「非」于(「路径可执行」于「程序」)
则
(「标准错误打印行」于(『工具不可执行:』附「程序」附『。请运行“工具 构建 工具名”;豫构种子须先按快速开始安装。』);
「一二七」)
否则
虑「原目录」者「获取当前路径」于「元」而
虑「切换结果」者「切换当前路径」于「目录」而
若「非」于(「等于」于(「切换结果」中「零」)于「零」)
则
(「标准错误打印行」于(「切换结果」中「一」);
「一」)
否则
虑「状态」者「运行并继承标准流」于「程序」于「参数」
而
虑「还原」者「切换当前路径」于「原目录」
而
若「等于」于(「还原」中「零」)于「零」则「状态」
否则
(「标准错误打印行」于(『无法还原工作目录:』附(「还原」中「一」));
「一」)
也。
「管理参数有效」乃化「命令条目」而化(「列」于「字符串」)而「爻」也。
「管理参数有效」者会「条目」而会「参数」而
虑「数量」者「长度」授以「字符串」于「参数」而
「且」
于(「非」于(「小于」于「数量」于(「条目」中「五」)))
于(「非」于(「大于」于「数量」于(「条目」中「六」)))
也。
「适配工具参数」乃
化「命令条目」而
化(「列」于「字符串」)而
(「列」于「字符串」)
也。
「适配工具参数」者会「条目」而会「参数」而
虑「命」者「条目」中「零」而
虑「实际」者
若「字符串相等吗」于「命」于『文档 生成』
则
(
鉴「参数」而
有「罄」则(「列」【『应用/豫言编译器/入口。豫』,『dist/文档』】)
或有((「列」【「入口」】))则(「列」【「入口」,『dist/文档』】)
或有「其他」则「参数」
)
否则若「且」
于(「字符串相等吗」于「命」于『源码 生成』)
于(「等于」于(「长度」授以「字符串」于「参数」)于「零」)
则
(「列」【『dist/源码』】)
否则
「参数」
而
「附加」授以「字符串」于(「条目」中「四」)于「实际」
也。
「构建管理工具」乃化「字符串」而化(「列」于「程序候选」)而「整数」也。
「构建管理工具」者会「根」而会「工具们」而
鉴「工具们」而
有「罄」则「零」
或有(「缀」于「工具」于「尾」)则
虑「名」者「工具」中「一」而
虑「输出」者
「路径合并」于「终端工具目录」于(
若「字符串相等吗」于「名」于『豫言终端』则『yysh』否则『yy』附「名」)而
「:文言:先成新器,后易旧器。汉语:构建至临时产物,成功后替换,避免覆盖正在运行的终端或豫构。:」
虑「暂存」者「输出」附『.新.exe』
而
虑「状态」者
「调用管理程序」
于「根」
于(「取工具路径」于『豫构』)
于(「列」【『构建』,「名」,『--编译器』,(「取管理编译器」于「元」),『--输出』,「暂存」】)
而
若「非」于(「等于」于「状态」于「零」)则
「状态」
否则
虑「移动」者「查找可执行程序」于『mv』
而
虑「换器」者
「调用管理程序」
于「根」
于(「移动」中「一」)
于(「列」【「暂存」,「输出」】)
而
若「等于」于「换器」于「零」则
「构建管理工具」于「根」于「尾」
否则
「换器」
也。
「显示工具状态」乃化(「列」于「程序候选」)而「整数」也。
「显示工具状态」者会「工具们」而
鉴「工具们」而
有「罄」则「零」
或有(「缀」于「工具」于「尾」)则
虑「路径」者
若「字符串相等吗」于(「工具」中「一」)于『豫言终端』
则
「路径合并」于「终端工具目录」于『yysh』
否则
「取工具路径」于(「工具」中「一」)
而
虑「就绪」者「路径可执行」于「路径」
而
虑「无」者
「打印行」于((若「就绪」则『就绪 』否则『缺少 』)附「路径」)
而
虑「余」者「显示工具状态」于「尾」
而
若「就绪」则「余」否则「一」
也。
「检查外部依赖」乃化(「列」于「字符串」)而「整数」也。
「检查外部依赖」者会「名称们」而
鉴「名称们」而
有「罄」则「零」
或有(「缀」于「名」于「尾」)则
虑「结果」者「查找可执行程序」于「名」而
虑「无」者
「打印行」于(「名」附(
若「结果」中「零」则『:』附(「结果」中「一」)否则『:未安装或不在 PATH 中』))
而
虑「余」者「检查外部依赖」于「尾」
而
若「结果」中「零」则「余」否则「一」
也。
「执行工具条目」乃
化「字符串」而
化「命令条目」而
化(「列」于「字符串」)而
「整数」
也。
「执行工具条目」者会「根」而会「条目」而会「参数」而
虑「命」者「条目」中「零」而
若「字符串相等吗」于「命」于『状态』
则
(「打印行」于(『项目:』附「根」);
「打印行」于(『编译器:』附(「取管理编译器」于「元」));
「显示工具状态」于(「常用工具候选」于「元」);
「零」)
否则
若「字符串相等吗」于「命」于『环境 检查』
则
虑「工具状态」者「显示工具状态」于(「常用工具候选」于「元」)
而
虑「外部状态」者
「检查外部依赖」于(「列」【『clang』,『git』】)
而
虑「编译器就绪」者「路径可执行」于(「取管理编译器」于「元」)
而
虑「无」者
「打印行」于((若「编译器就绪」则『编译器就绪:』否则『缺少编译器:』)附(「取管理编译器」于「元」))
而
若「且」于「编译器就绪」于(「等于」于(「加」于「工具状态」于「外部状态」)于「零」)则
「零」
否则
「一」
否则若「字符串相等吗」于「命」于『工具 构建』
则
(
鉴「参数」而
有「罄」则「构建管理工具」
于「根」
于(「常用工具候选」于「元」)
或有(「缀」于「工具名」于「余」)则
虑「结果」者
「决定命令词」于「工具名」于(「常用工具候选」于「元」)
而
若「等于」于(「结果」中「零」)于「零」
则
「构建管理工具」
于「根」
于(「列」【(「名称候选」于(「结果」中「一」))】)
否则
(「标准错误打印行」于(「结果」中「二」);
「二」)
)
否则若「字符串相等吗」于「命」于『网页服务』
则
虑「服务参数」者「参数」而
鉴「服务参数」而
有(「缀」于「目录」于「端口们」)则
「调用管理程序」
于(「绝对工具路径」于「根」于「目录」)
于(「取工具路径」于『简易网页服务器』)
于(「附加」授以「字符串」于(「列」【『--本机』】)于「端口们」)
或有「罄」则「二」
否则
虑「实际参数」者「适配工具参数」于「条目」于「参数」
而
虑「完整参数」者
若「字符串相等吗」于(「条目」中「三」)于『豫构』
则
「附加」授以「字符串」
于(「列」【『--编译器』,(「取管理编译器」于「元」)】)
于「实际参数」
否则
「实际参数」
而
「调用管理程序」于「根」于(「取工具路径」于(「条目」中「三」))于「完整参数」
也。
「显示管理帮助」乃化(「列」于「字符串」)而「整数」也。
「显示管理帮助」者会「参数」而
虑「解析」者「解析管理余词」于『』于「参数」而
若「非」于(「等于」于(「解析」中「零」)于「零」)
则
(「标准错误打印行」于(「解析」中「三」);
「二」)
否则
鉴「解析」中「二」而
有「罄」则
(「打印行」于(「命令帮助文本」于(「解析」中「一」));
「打印行」
于『全局选项置于命令前:--项目 路径、--预演。相对路径按项目根解释;网页服务按当前目录解释。』;
「打印行」
于『拼音仅用于筛选命令、工具与包名候选;Tab 选候选,Ctrl-E 或右方向键填入正式名称后执行。』;
「零」)
或有「其他」则
(「标准错误打印行」于『帮助只接受命令路径,如:help 包 检查』;
「二」)
也。
「执行管理命令」乃化「字符串」而化(「列」于「字符串」)而「整数」也。
「执行管理命令」者会「命」而会「参数」而
鉴「查命令条目」于「命」而
有(「缀」于「条目」于「余」)则(
若「非」于(「管理参数有效」于「条目」于「参数」)
则
(「标准错误打印行」于(『用法:』附(「条目」中「一」));
「二」)
否则
虑「项目」者「当前管理项目」于「元」
而
虑「根」者
若「字符串相等吗」于「命」于『网页服务』
则
(若「字符串相等吗」于(「读引用」于「指定项目」)于『』则「获取当前路径」于「元」否则「项目」)
否则
「项目」
而
若「字符串相等吗」于「根」于『』
则
(「标准错误打印行」
于『未找到豫言仓库,请使用 --项目 路径 指定项目根目录。』;
「二」)
否则
「执行工具条目」于「根」于「条目」于「参数」
)
或有「罄」则
(「打印行」于(「命令帮助文本」于「命」);
「零」)
也。