编译步骤/类型检查/类型检查基础。豫
yuyan · 132 行 · 7136 字节 · 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
寻观「标准库」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「总集」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「模块操作」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「检查后定义处理」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「命名环境术」之书。
寻观「编译器核心」之「编译数据」之「操作符」之「操作符数据结构」之书。
寻观「编译器核心」之「编译步骤」之「总体过程」之「编译文件缓存工具」之书。
「进行对象类型检查引用」乃
「引用类」于(化「命名环境」而化「表达式」而化「表达式」而「表达式」)
也。
「进行对象类型检查引用」者
「新引用」授以(化「命名环境」而化「表达式」而化「表达式」而「表达式」)
于(会「无」而会「物」而会「类」而「发生事故」于『未有对象类型检查』)
也。
「进行对象类型合成引用」乃
「引用类」于(化「命名环境」而化「表达式」而「表达式」合「表达式」)
也。
「进行对象类型合成引用」者
「新引用」授以(化「命名环境」而化「表达式」而「表达式」合「表达式」)
于(会「无」而会「物」而「发生事故」于『未有对象类型合成』)
也。
「进行类型类型检查引用」乃
「引用类」于(化「命名环境」而化「表达式」而「表达式」)
也。
「进行类型类型检查引用」者
「新引用」授以(化「命名环境」而化「表达式」而「表达式」)
于(会「无」而会「类」而「发生事故」于『未有类型类型检查』)
也。
「检查模式匹配分支引用」乃
「引用类」于(化「命名环境」而化「表达式」而化「表达式」而化「表达式」而「表达式」)
也。
「检查模式匹配分支引用」者
「新引用」授以(化「命名环境」而化「表达式」而化「表达式」而化「表达式」而「表达式」)
于(会「无」而会「分支」而会「返回类」而会「匹配类」而「发生事故」于『未有模式匹配分支检查』)
也。
「模式匹配分支类型合成引用」乃
「引用类」于(化「命名环境」而化「表达式」而化「表达式」而「表达式」合「表达式」)
也。
「模式匹配分支类型合成引用」者
「新引用」授以(化「命名环境」而化「表达式」而化「表达式」而「表达式」合「表达式」)
于(会「无」而会「分支」而会「匹配类」而「发生事故」于『未有模式匹配分支类型合成』)
也。
「命名环境查找文件定义」乃
化「命名环境」而
化「字符串」而
化「字符串」而
「或可有」
于(「表达式」合「表达式」)
也。
「命名环境查找文件定义」者会「境」而会「文件名」而会「定义名」而
鉴「境」而
有「罄」则「可无」
或有(「缀」于(「文件定义条目」于「当前文件名」于「当前定义名」于「类」于「物」)于「尾」)则
若(「且」于(「串相等」于「当前文件名」于「文件名」)于(「串相等」于「当前定义名」于「定义名」))
则
「可有」于(「类」与「物」)
否则
「命名环境查找文件定义」
于「尾」
于「文件名」
于「定义名」
或有(「缀」于(「本地条目」于「忽略名」于「忽略类」)于「尾」)则
「命名环境查找文件定义」于「尾」于「文件名」于「定义名」
也。
「文件定义引用类及物」乃
化「命名环境」而
化「字符串」而
化「字符串」而
「表达式」合「表达式」
也。
「文件定义引用类及物」者会「境」而会「文件名」而会「名」而
鉴(「命名环境查找文件定义」于「境」于「文件名」于「名」)而
有(「可有」于「类及物」)则「类及物」
或有「可无」则(
鉴(「文件定义列投影」于(「读检查后定义」于「文件名」)于「名」)而
有(「可有」于(「定义项」与「序数」))则
「检查后定义项类及物」
于「文件名」于「名」于「序数」于「定义项」
或有「可无」则
「发生事故」
于『检查后定义中没有投影:』附「名」附『,文件:』附「文件名」
)
也。
「展开透明定义引用」乃化「命名环境」而化「表达式」而「表达式」也。
「展开透明定义引用」者会「境」而会「式」而
鉴「式」而
有「自由变量」于「名」则「式」
或有「绑定变量」于「名」则「式」
或有(「式节点」于(「文件定义引用节点」于「文件名」于「定义名」于「序数」)于「罄」)则(
鉴(「文件定义引用类及物」于「境」于「文件名」于「定义名」)而
有(「忽略类」与「定义物」)则(
鉴「定义物」而
有(「式节点」于(「文件定义引用节点」于「物文件名」于「物定义名」于「忽略物序数」)于「罄」)则
若(「且」于(「串相等」于「物文件名」于「文件名」)于(「串相等」于「物定义名」于「定义名」))
则
「式」
否则
「展开透明定义引用」
于「境」
于「定义物」
或有(「式节点」于(「文件引用节点」于「忽略命名空间文件」)于「罄」)则「式」
或有「其他定义物」则
「展开透明定义引用」于「境」于「其他定义物」
)
)
或有「式节点」于「其他节点」于「参」则
「式节点」
于「其他节点」
于((「态射」)于「参」于(会「待展开式」而「展开透明定义引用」于「境」于「待展开式」))
或有「绑定」于「名」于「下式」则
「抽象表达式操作」于「式」于(会「待展开式」而「展开透明定义引用」于「境」于「待展开式」)
也。
「解析单个名称及物」乃
化「命名环境」而
化「字符串」而
(「或可有」于(「表达式」合「表达式」))
也。
「解析单个名称及物」者会「境」而会「名」而
鉴(「解析单个名称」于「境」于「名」)而
有(「可有」于「类」)则
「可有」于(「类」与(「自由变量」于「名」))
或有「可无」则「可无」
也。