编译步骤/语法分析/导入预测。豫
yuyan · 51 行 · 2625 字节 · 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
寻观「标准库」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「总集」之书。
寻「编译器核心」之「编译步骤」之「语法分析」之「函数合集」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「抽象语法分析工具」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「导入解析」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「词法解析」之书。
寻观「编译器核心」之「编译步骤」之「语法分析」之「注释操作」之书。
「寻找可能导入文件」乃
化「字符串」 「:路径:」而
化(「列」于「表达式」) 「:具体语法:」而
「列」于「字符串」
也。
「寻找可能导入文件」者会「路径」而会「输入」而
虑「解析表达式」者
((「读引用」授以(「函数合集」之「解表达式默认操作符类型」))于(「函数合集」之「解表达式默认操作符引用」))
而
(「串联」授以「字符串」)于((「打表态射」授以(「列」于「表达式」)授以(「列」于「字符串」))
于(「切分顶层语句」于「输入」)
于(会「语句」而
虑「净语句」者「去除词法注释列」于「语句」而
若(「等」于((「长度」授以「表达式」)于「净语句」)于「零」)
则
「罄」
否则
(
鉴(「解析表达式」于「路径」于「净语句」)而
有(「式节点」于(「文件操作近似类型节点」于「作」)于((「列」【「结构名式」】)))则
若「需要导入」于「作」
则
(
虑「结构名」者「表达式结构名称转字符串列」于「结构名式」而
((「列」于「字符串」)也((「列」【(「解析导入文件名」于「路径」于「结构名」)】)))
)
否则
「罄」
或有「其他」则「罄」
))
)
也。
「寻找可能导入文件顶层」乃
化「字符串」 「:路径:」而
「列」于「字符串」
也。
「寻找可能导入文件顶层」者会「路径」而
(「移除重复」授以「字符串」)
于「串相等」
于(「寻找可能导入文件」于「路径」于(「词法解析顶层」于(「文件系统」之「读文件」于「路径」)))
也。