包描述。豫
yuyan · 308 行 · 16786 字节 · 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
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「特殊字符」之书。
寻观「双宿主构建」之「文本工具」之书。
「:文言:此篇纯函数,唯解包描述之三事:名称、所有者、依赖;不涉磁盘。先切为词而弃注释与空白,只认最外层之字段。汉语:包描述解析器。把包描述文本切成词(标识符、字符串、其他单个符号;注释与空白丢弃),只在最外层(不在方括号内)查找名称、所有者与依赖三个字段。词法规则与编译器一致:注释可以嵌套,字符串内的转义序列不是注释。:」
「包描述」即
「字符串」
合「字符串」
合(「列」于「字符串」)
也。
「包描述名称」乃化「包描述」而「字符串」也。
「包描述名称」者会「描述」而
「描述」中「零」
也。
「包描述所有者」乃化「包描述」而「字符串」也。
「包描述所有者」者会「描述」而
「描述」中「一」
也。
「包描述依赖们」乃化「包描述」而(「列」于「字符串」)也。
「包描述依赖们」者会「描述」而
「描述」中「二」
也。
「:文言:词有三种:名、串、符。汉语:词法单元:标识符、字符串、其他单个符号。:」
「包词」立「元类型」也。
「名词」立化「字符串」而「包词」也。
「串词」立化「字符串」而「包词」也。
「符词」立化「字符串」而「包词」也。
「空白字符吗」乃化「字符串」而「爻」也。
「空白字符吗」者会「字」而
「或者」
于(「字符串相等吗」于「字」于『 』)
于(「或者」
于(「字符串相等吗」于「字」于「新行」)
于(「或者」
于(「字符串相等吗」于「字」于「制表符」)
于(「或者」于(「字符串相等吗」于「字」于「回车」)于(「字符串相等吗」于「字」于『 』))))
也。
「:文言:注释可嵌套;入其中而深度自零起,遇结束符而深为零则出。汉语:跳过注释:输入是注释开始符之后的字符,返回与之配对的结束符之后的剩余字符;嵌套的开始符使深度加一,结束符使深度减一。:」
「跳过注释」乃化(「列」于「字符串」)而化「整数」而(「列」于「字符串」)也。
「跳过注释」者会「输入」而会「深度」而
鉴「输入」而
有「罄」则「发生事故」于『包描述含未关闭的注释』
或有(「缀」于『「』于(「缀」于『:』于「尾」))则
「跳过注释」于「尾」于(「加」于「深度」于「一」)
或有(「缀」于『:』于(「缀」于『」』于「尾」))则
若「等于」于「深度」于「零」则
「尾」
否则
「跳过注释」
于「尾」
于(「减」于「深度」于「一」)
或有(「缀」于「字」于「尾」)则
「跳过注释」于「尾」于「深度」
也。
「:文言:读标识符至右角括号止。汉语:读取标识符内容(不含定界符),返回内容与剩余输入;已读字符逆序累积。:」
「读标识符」乃
化(「列」于「字符串」)而
化(「列」于「字符串」)而
(「字符串」合(「列」于「字符串」))
也。
「读标识符」者会「已读」而会「输入」而
鉴「输入」而
有「罄」则「发生事故」于『包描述含未关闭的标识符』
或有(「缀」于『」』于「尾」)则(「串组合并」于(「反转」授以「字符串」于「已读」))
与「尾」
或有(「缀」于「字」于「尾」)则
「读标识符」于(「缀」于「字」于「已读」)于「尾」
也。
「:文言:字符串内之转义,连其结束符而抄之,勿使其中之右引号早终字符串。汉语:读取字符串转义序列:输入是转义开始符之后的字符,把转义原样(含结束符)压入逆序的已读字符,返回新的已读字符与剩余输入。:」
「读转义」乃
化(「列」于「字符串」)而
化(「列」于「字符串」)而
((「列」于「字符串」)合(「列」于「字符串」))
也。
「读转义」者会「已读」而会「输入」而
鉴「输入」而
有「罄」则「发生事故」于『包描述含未关闭的字符串转义』
或有(「缀」于『:』于(「缀」于『」』于「尾」))则(「缀」于『」』于(「缀」于『:』于「已读」))
与「尾」
或有(「缀」于「字」于「尾」)则
「读转义」于(「缀」于「字」于「已读」)于「尾」
也。
「:文言:读字符串至未转义之右引号止。汉语:读取字符串内容(不含定界符,转义序列原样保留),返回内容与剩余输入。:」
「读字符串」乃
化(「列」于「字符串」)而
化(「列」于「字符串」)而
(「字符串」合(「列」于「字符串」))
也。
「读字符串」者会「已读」而会「输入」而
鉴「输入」而
有「罄」则「发生事故」于『包描述含未关闭的字符串』
或有(「缀」于『「:』:」』于「尾」)则(「串组合并」于(「反转」授以「字符串」于「已读」))
与「尾」
或有(「缀」于『「』于(「缀」于『:』于「尾」))则(
虑「转义结果」者
「读转义」于(「缀」于『:』于(「缀」于『「』于「已读」))于「尾」
而
「读字符串」于(「转义结果」中「零」)于(「转义结果」中「一」)
)
或有(「缀」于「字」于「尾」)则
「读字符串」于(「缀」于「字」于「已读」)于「尾」
也。
「:文言:左角括号之后随冒号者为注释,弃之;否则为标识符。汉语:处理以左角括号开头的位置:紧随全角冒号时是注释,产出零个词;否则读标识符,产出一个名词。返回产出的词与剩余输入。:」
「词化左角」乃
化(「列」于「字符串」)而
((「列」于「包词」)合(「列」于「字符串」))
也。
「词化左角」者会「尾」而
鉴「尾」而
有(「缀」于『:』于「后」)则(「罄」授以「包词」)与(「跳过注释」于「后」于「零」)
或有「其他」则(
虑「结果」者「读标识符」于(「罄」授以「字符串」)于「尾」而
(「缀」于(「名词」于(「结果」中「零」))于(「罄」授以「包词」))与(「结果」中「一」)
)
也。
「词化串」乃
化(「列」于「字符串」)而
((「列」于「包词」)合(「列」于「字符串」))
也。
「词化串」者会「尾」而
虑「结果」者「读字符串」于(「罄」授以「字符串」)于「尾」而
(「缀」于(「串词」于(「结果」中「零」))于(「罄」授以「包词」))与(「结果」中「一」)
也。
「:文言:逐字切词。汉语:把字符列表切成词列表。:」
「词法」乃化(「列」于「字符串」)而(「列」于「包词」)也。
「词法」者会「输入」而
鉴「输入」而
有「罄」则「罄」授以「包词」
或有(「缀」于「字」于「尾」)则
若「空白字符吗」于「字」则「词法」于「尾」
否则若「字符串相等吗」于「字」于『「』则(
虑「结果」者「词化左角」于「尾」而
「附加」授以「包词」
于(「结果」中「零」)
于(「词法」于(「结果」中「一」))
)
否则若「字符串相等吗」于「字」于『『』则(
虑「结果」者「词化串」于「尾」而
「附加」授以「包词」
于(「结果」中「零」)
于(「词法」于(「结果」中「一」))
)
否则
「缀」于(「符词」于「字」)于(「词法」于「尾」)
也。
「词是符」乃化「包词」而化「字符串」而「爻」也。
「词是符」者会「词」而会「符」而
鉴「词」而
有(「符词」于「字」)则
「字符串相等吗」于「字」于「符」
或有「其他」则「阴」
也。
「词是名」乃化「包词」而化「字符串」而「爻」也。
「词是名」者会「词」而会「名」而
鉴「词」而
有(「名词」于「字」)则
「字符串相等吗」于「字」于「名」
或有「其他」则「阴」
也。
「词串值」乃化「包词」而(「或可有」于「字符串」)也。
「词串值」者会「词」而
鉴「词」而
有(「串词」于「值」)则(「可有」授以「字符串」于「值」)
或有「其他」则(「可无」授以「字符串」)
也。
「:文言:名后之词:先者字,次串。汉语:字段名之后必须是 者 与一个字符串;是则返回该字符串。:」
「者后串值」乃化(「列」于「包词」)而(「或可有」于「字符串」)也。
「者后串值」者会「词们」而
鉴「词们」而
有(「缀」于「甲」于(「缀」于「乙」于「余」))则
若「词是符」于「甲」于『者』则「词串值」于「乙」否则(「可无」授以「字符串」)
或有「其他」则(「可无」授以「字符串」)
也。
「:文言:只寻最外层之字段,方括号内者不计。汉语:在词列表最外层(方括号深度为零)查找形如 名 者 字符串 的字段,返回第一个。:」
「找串字段」乃
化(「列」于「包词」)而
化「整数」而
化「字符串」而
(「或可有」于「字符串」)
也。
「找串字段」者会「词们」而会「深度」而会「名」而
鉴「词们」而
有「罄」则(「可无」授以「字符串」)
或有(「缀」于「首」于「尾」)则
若「词是符」于「首」于『【』则
「找串字段」于「尾」于(「加」于「深度」于「一」)于「名」
否则若「词是符」于「首」于『】』则「找串字段」于「尾」于(「减」于「深度」于「一」)于「名」
否则若「且」于(「等于」于「深度」于「零」)于(「词是名」于「首」于「名」)
则
(
鉴(「者后串值」于「尾」)而
有(「可有」于「值」)则(「可有」授以「字符串」于「值」)
或有「可无」则
「找串字段」于「尾」于「深度」于「名」
)
否则
「找串字段」于「尾」于「深度」于「名」
也。
「:文言:依赖之列,串以逗号,终以右方括号;他物则拒之。汉语:读取依赖列表的各项:只接受字符串,以全角逗号分隔(允许末尾多一个逗号),遇右方括号结束;出现其他内容或缺少右方括号则报错。:」
「读依赖项」乃
化(「列」于「包词」)而
化(「列」于「字符串」)而
化「字符串」而
(「列」于「字符串」)
也。
「读依赖项」者会「词们」而会「已读」而会「文件」而
鉴「词们」而
有「罄」则「发生事故」于(『包描述格式不对:』附「文件」附『:「依赖」列表缺少右方括号』)
或有(「缀」于「首」于「尾」)则
若「词是符」于「首」于『】』则「反转」授以「字符串」于「已读」
否则若「词是符」于「首」于『,』则
「读依赖项」于「尾」于「已读」于「文件」
否则
(
鉴(「词串值」于「首」)而
有(「可有」于「值」)则
「读依赖项」
于「尾」
于(「缀」于「值」于「已读」)于「文件」
或有「可无」则
「发生事故」于(『包描述格式不对:』附「文件」附『:「依赖」列表只能写包名字符串,以全角逗号分隔』)
)
也。
「:文言:寻「依赖」者「列」【…】;无之则依赖为空。汉语:在最外层查找依赖字段,其后必须是 者、列、左方括号;找不到字段时依赖为空列表。:」
「找依赖字段」乃
化(「列」于「包词」)而
化「整数」而
化「字符串」而
(「或可有」于(「列」于「字符串」))
也。
「找依赖字段」者会「词们」而会「深度」而会「文件」而
鉴「词们」而
有「罄」则(「可无」授以(「列」于「字符串」))
或有(「缀」于「首」于「尾」)则
若「词是符」于「首」于『【』则
「找依赖字段」于「尾」于(「加」于「深度」于「一」)于「文件」
否则若「词是符」于「首」于『】』则「找依赖字段」于「尾」
于(「减」于「深度」于「一」)于「文件」
否则若「且」于(「等于」于「深度」于「零」)于(「词是名」于「首」于『依赖』)
则
(
鉴「尾」而
有(「缀」于「甲」于(「缀」于「乙」于(「缀」于「丙」于「后」)))则
若「且」
于(「词是符」于「甲」于『者』)
于(「且」于(「词是名」于「乙」于『列』)于(「词是符」于「丙」于『【』))
则
(「可有」授以(「列」于「字符串」)于(「读依赖项」于「后」于(「罄」授以「字符串」)于「文件」))
否则
「发生事故」于(『包描述格式不对:』附「文件」附
『:「依赖」字段格式不对,应为「依赖」者「列」【包名字符串,…】也。』)
或有「其他」则
「发生事故」于(『包描述格式不对:』附「文件」附
『:「依赖」字段格式不对,应为「依赖」者「列」【包名字符串,…】也。』)
)
否则
「找依赖字段」于「尾」于「深度」于「文件」
也。
「:文言:必有之字段,缺则告其名。汉语:取必须存在的字符串字段,缺失时报错并写明字段名与标准写法。:」
「必取串字段」乃
化「字符串」而
化(「列」于「包词」)而
化「字符串」而
「字符串」
也。
「必取串字段」者会「文件」而会「词们」而会「名」而
鉴(「找串字段」于「词们」于「零」于「名」)而
有(「可有」于「值」)则「值」
或有「可无」则
「发生事故」于(『包描述格式不对:』附「文件」附『:缺少「』附「名」附『」者『…「:』:」也。』)
也。
「:文言:解包描述:先词法,后取名称、所有者、依赖。汉语:解析包描述文本,返回(名称,所有者,依赖列表);「文件」只用于错误信息。格式不对时抛出带文件名的中文事故。:」
「解析包描述」乃化「字符串」而化「字符串」而「包描述」也。
「解析包描述」者会「文件」而会「文本」而
虑「词们」者
「尝试运行」授以(「列」于「包词」)
于(会「无」而「词法」于(「串转通字符」于「文本」))
于(会「信息」而「发生事故」于(『包描述格式不对:』附「文件」附『:』附「信息」))而
虑「名」者「必取串字段」于「文件」于「词们」于『名称』而
虑「主」者「必取串字段」于「文件」于「词们」于『所有者』而
虑「依赖们」者鉴(「找依赖字段」于「词们」于「零」于「文件」)而
有(「可有」于「诸依」)则「诸依」
或有「可无」则(「罄」授以「字符串」)
而
「名」与「主」与「依赖们」
也。