编译数据/抽象绑定树结构/命名环境术。豫
yuyan · 126 行 · 5610 字节 · 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
寻观「标准库」之书。
寻观「编译器核心」之「编译数据」之「抽象绑定树结构」之「抽象语法树」之「总集」之书。
寻观「编译器核心」之「编译数据」之「操作符」之「操作符数据结构」之书。
寻观「编译器核心」之「顺序标识符」之「顺序标识符」之书。
寻观「编译器核心」之「编译数据」之「编译配置」之「编译期输出」之书。
「条目表示」乃化「条目」而「字符串」也。
「条目表示」者会「目」而
鉴「目」而
有「本地条目」于「名」于「类」则(「名」)附『:』附(「表达式表示」于「类」)
或有「文件定义条目」于「文件名」于「定义名」于「类」于「物」则
『文件定义:』附「文件名」附『:』附「定义名」附『:』附(「表达式表示」于「类」)
也。
「命名环境表示」乃化「命名环境」而「字符串」也。
「命名环境表示」者会「境」而
「间合」于『「:换行:」』于((「态射」)于「境」于「条目表示」)
也。
「: 名称解析结果立类型也。
绝对解析立化表达式而名称解析结果也。
未找到解析立名称解析结果也。 :」
「解析单个名称」乃化「命名环境」而化「字符串」而「或可有」于「表达式」也。
「解析单个名称」者
会「境」而会「搜索名」而
「:尝试绝对解析:」
鉴((「滤态射」授以「条目」授以「表达式」)
于(会「明」而
鉴「明」而
有(「本地条目」于「名」于「类」)则
(若(「串相等」于「搜索名」于「名」)则(「可有」于「类」)否则「可无」)
或有(「文件定义条目」于「忽略文件名」于「忽略定义名」于「忽略类」于「忽略物」)则「可无」
)
于(「境」)
)而
有(「缀」于「找到」于「尾」)则(「可有」于「找到」)
或有「罄」则
(「可无」)
也。
「找到名称」乃化「命名环境」而化「字符串」而「表达式」也。
「找到名称」者会「境」而会「名」而
鉴「解析单个名称」于「境」于「名」而
有(「可有」于「式」)则「式」
或有「可无」则
「发生事故」于『未找到名称:』附(「名」)附『在以下环境中:换行』附(「命名环境表示」于「境」)
也。
「命名环境获取所有名称」乃化「命名环境」而「列」于「字符串」也。
「命名环境获取所有名称」者会「境」而
(「滤态射」授以「条目」授以「字符串」)
于(会「明」而
鉴(「明」)而
有(「本地条目」于「名」于「类」)则「可有」
于「名」
或有(「文件定义条目」于「忽略文件名」于「忽略定义名」于「忽略类」于「忽略物」)则「可无」
)于「境」
也。
「默认命名环境」者(「态射」授以「内建常量」授以「条目」)
于「所有内建常量」
于(会「量」而「本地条目」于(「内建常量表示」于「量」)于(「内建物类型」于「量」))
也。
「添加声明」乃
化「命名环境」而
化「字符串」而
化「表达式」而
(「字符串」合「命名环境」)
也。
「添加声明」者会「境」而会「串」而会「类」而
虑「名」者
(
若(「存在吗」授以「字符串」)
于(会「已有名」而「串相等」于「串」于「已有名」)
于(「命名环境获取所有名称」于「境」)
则
(「下个字符序数」于「串」)
否则
「串」
)而
虑「无」者
(「详细调试打印行」于(会「无」而『添加声明』附「串」附『,类:』附(「表达式表示」于「类」)))
而
虑「无」者
(「编译调试打印行」于『env_add』于(会「无」而『添加声明』附「串」附『,类:』附(「表达式表示」于「类」)))
而
「名」与(「缀」于(「本地条目」于「名」于「类」)于「境」)
也。
「添加声明不改变名」乃
化「字符串」而
化「命名环境」而
化「字符串」而
化「表达式」而
(「命名环境」)
也。
「添加声明不改变名」者会「调试」而会「境」而会「串」而会「类」而
虑「名及境」者「添加声明」于「境」于「串」于「类」而
若「串相等」于(「名及境」中「零」)于「串」则
(「名及境」中「一」)
否则
(「发生事故」于「调试」附『重复的名称:』附「串」)
也。
「添加模式匹配声明」乃化「命名环境」而化「表达式」而「命名环境」也。
「添加模式匹配声明」者会「境」而会「模式」而
虑「模式新变量们」者「读取模式匹配新变量」于「模式」而
虑「新境」者
((「从左折叠」授以「字符串」授以「命名环境」)
于(会「新名」而会「已有境」而
「添加声明不改变名」
于『119』
于「已有境」
于「新名」
于(「式节点」于「待定节点」于「罄」) 「:TODO 用真实的类型:」
)于「境」于「模式新变量们」
)
而
「新境」
也。