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
「:入口程序:」
寻观「标准库」之书。
寻观「构建基础」之「包上下文」之书。
寻观「构建基础」之「包定位」之书。
寻观「构建基础」之「并行编译」之书。
寻观「标准库」之「操作系统」之「异步子进程」之书。
寻观「编译器核心」之「编译步骤」之「总体过程」之「编译过程」之书。
寻观「编译器核心」之「编译步骤」之「总体过程」之「单一编译工作」之书。
寻观「编译器核心」之「编译步骤」之「代码生成」之「代码生成入口」之书。
寻观「编译器核心」之「编译数据」之「编译配置」之「全局配置」之书。
寻观「编译器核心」之「编译辅助工具」之「命令行」之「命令行参数处理」之书。
寻观「编译器核心」之「编译辅助工具」之「调试工具」之「调试入口」之书。
寻观「编译器核心」之「编译辅助工具」之「命令行」之「可打印文档」之书。
寻观「编译器核心」之「编译辅助工具」之「命令行」之「版本管理」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。
寻观「编译器核心」之「编译数据」之「编译配置」之「编译期输出」之书。
寻观「编译器核心」之「编译步骤」之「代码生成」之「主程序生成入口」之书。
寻观「编译器核心」之「编译步骤」之「代码生成」之「低级虚拟机」之「可移植自举包」之书。
「参数」者(「命令行参数」之「获取参数」于「元」)也。
「参数长度」者「长度」于「参数」也。
「输入文件路径处理」乃化「字符串」而「字符串」也。
「输入文件路径处理」者会「串」而
若「路径名是绝对路径」于「串」
则
「串」
否则
(「路径合并」于(「获取当前路径」于「元」)于「串」)也。
「:文言:直呼编译器,亦委豫构,不复旧搜索。汉语:保留文件式命令入口,但无上下文的普通编译统一交给包构建系统;工作进程不得回退。:」
「委托包构建」乃化「字符串」而「整数」也。
「委托包构建」者会「文件」而
虑「自己」者「真实路径」于(「命令行参数」之「获取程序名」于「元」)而
虑「目录」者「获取文件夹名」于「自己」而
虑「正式」者「路径合并」于「目录」于『yy豫构』而
虑「工具」者若「路径存在」于「正式」则「正式」否则「路径合并」于「目录」于『yy豫构_stable』而
若「非」于(「路径存在」于「工具」)则「发生事故」授以「整数」于『请安装与编译器配套的 yy豫构 或 yy豫构_stable』否则
「操作系统」之「子进程」之「运行并传递输出」于「工具」于
(「附加」授以「字符串」于(「列」【『文件』,「文件」,『--编译器』,「自己」,『--』】)于
(「过滤编译输入」于(「第N个」授以「字符串」于「零」于(「读引用」授以(「列」于「字符串」)于「要编译的文件」))于「参数」))也。
鉴「参数」而
有「缀」于『debug』于「调试参数」则(「进行调试」于「调试参数」)
或有「其他」则(「处理命令行参数」于「参数」;
(若(「读引用」于「需要显式帮助」)
则
(「打印行」于「帮助文本」)
否则
(若(「读引用」于「需要显式版本」)
则
(「打印行」于「当前豫言版本」)
否则
(若(「读引用」于「需要显式关于」)
则
(「打印行」于「AGPL版权声明」)
否则
(虑「无」者「非常粗略调试打印行」于(会「无」而『当前路径:』附((「获取当前路径」于「元」)))
而
虑「所有输入文件」者((「态射」)于((「读引用」授以(「列」于「字符串」))于「要编译的文件」)于
「输入文件路径处理」
)而
鉴「所有输入文件」而
有((「列」【「文件名」】))则(
虑「无」者(若「且」于(「非」于(「已启用包上下文」于「元」))于(「串相等」于(「读引用」于「当前模式」)于『regular』)
则「进程」之「退出」于(「委托包构建」于「文件名」)否则「元」)而
虑「无」者「确认包上下文输入」于「文件名」而鉴(「读引用」于「当前模式」)而
有『regular』则
若「读引用」于「使用并行编译」
则「进程」之「退出」于(「并行编译」于
(「命令行参数」之「获取程序名」于「元」)于「文件名」于
(「过滤调度参数」于(「过滤编译输入」于
(「第N个」授以「字符串」于「零」于(「读引用」授以(「列」于「字符串」)于「要编译的文件」))于「参数」))于
(若「等于」于(「读引用」于「并行编译上限」)于「零」则「在线处理器数量」于「元」否则「读引用」于「并行编译上限」)于
(「读引用」于「仅执行类型检查」))
否则
(「所有依赖分析」于「文件名」;
(「列」于「有」也(「态射」)
于((「读引用」授以(「列」于「字符串」))于「文件编译顺序」)
于(「进行编译」));
(虑「退出状态」者「条件生成可执行程序并执行」于「文件名」而「进程」之「退出」于(「退出状态」)))
或有『worker』则(鉴「读引用」于
「单一工作模式任务」而
有『exec-gen』则((「写引用」授以(「列」于「字符串」))于「文件编译顺序」
于((「附加」授以「字符串」)
于((「读引用」授以(「列」于「字符串」))于「文件编译顺序」)
于(((「列」于「字符串」)也((「列」【「文件名」】)))));
「进程」之「退出」于(「条件生成可执行程序并执行」于「文件名」))
或有「其他工作」则(「执行单一工作」于「文件名」))
或有「其他模式」
则(「发生事故」于『不识别的模式:』附(「其他模式」)))
或有「其他输入文件」则「发生事故」于『期待单一文件名,所有文件』附(「串列表示」于「其他输入文件」))))))。