编译。豫
yuyan · 246 行 · 11981 字节 · 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
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「癸象工具」之「总集」之书。
寻观「癸象工具」之「癸象访问」之书。
寻观「云工宿主」之「核心」之书。
「:
文言:诸限皆本公约;名、号之长至多一百二十八字节。
汉语:接口规范里的限额:请求 JSON 至多 2097152 字节;编译器名与运行号 1 至 128 字节且不含控制字符;等待毫秒 1 至 60000。
:」
「编译内请求上限」乃「整数」也。
「编译内请求上限」者「二零九七一五二」也。
「编译内名上限」乃「整数」也。
「编译内名上限」者「一二八」也。
「编译内等待上限」乃「整数」也。
「编译内等待上限」者「六零零零零」也。
「编译内失败消息上限」乃「整数」也。
「编译内失败消息上限」者「三零零」也。
「编译内编译器种类」乃「字符串」也。
「编译内编译器种类」者『COMPILE』也。
「:
文言:名中不得有控制之字(零至三十一及一百二十七)。
汉语:按字节检查字符串里没有控制字符(0 至 31 与 127);用于编译器名与运行号。
:」
「编译内无控制字符」乃化「字符串」而化「整数」而「爻」也。
「编译内无控制字符」者会「文」而会「位」而
若「非」于(「小于」于「位」于(「字节长度」于「文」))则
「阳」
否则
虑「字节」者「字符转整数」于「文」于「位」
而
若「或者」于(「小于」于「字节」于「三二」)于(「等于」于「字节」于「一二七」)则
「阴」
否则
「编译内无控制字符」于「文」于(「加」于「位」于「一」)
也。
「编译内名合法吗」乃化「字符串」而「爻」也。
「编译内名合法吗」者会「文」而
「且」
于(「且」
于(「大于」于(「字节长度」于「文」)于「零」)
于(「非」于(「大于」于(「字节长度」于「文」)于「编译内名上限」)))
于(「编译内无控制字符」于「文」于「零」)
也。
「:
文言:宿主之败,其辞截而中文之,免巨辞。
汉语:把宿主返回的错误 JSON(含名称、消息)转成失败说明:取消息字段,截到 300 个字符以内,前加“编译运行:”。
:」
「编译内宿主失败文」乃化「字符串」而「字符串」也。
「编译内宿主失败文」者会「错」而
虑「消息」者
「癸象字段字符串」于(「癸象解析」于「错」)于『消息』于『宿主调用失败』
而
『编译运行:』附(
若「大于」于(「串长度」于「消息」)于「编译内失败消息上限」则
「获取子字符串」于「零」于「编译内失败消息上限」于「消息」
否则
「消息」
)
也。
「:
文言:取宿主所设之编译运行器;用毕即释其柄。
汉语:经许可的 COMPILE 绑定名取得宿主注入的编译运行器对象句柄(未授权或绑定不存在使本事失败);调用者用毕必须释放。
:」
「编译内取运行器」乃化「字符串」而「字符串」也。
「编译内取运行器」者会「名」而
若「编译内名合法吗」于「名」则
「云工绑定句柄」于「编译内编译器种类」于「名」
否则
「发生事故」授以「字符串」于『编译器名无效』
也。
「编译内验运行号」乃化「字符串」而「有」也。
「编译内验运行号」者会「号」而
若「编译内名合法吗」于「号」则
「元」
否则
「发生事故」授以「有」于『运行号无效』
也。
「:
文言:运行号惟启之之事有效;号冠事标,异事之号,纵字同,亦拒之。
汉语:应用看到的运行号是“事件标记:宿主运行号”。事件标记取自随机 UUID 的前 13 个字符,每个 Wasm 实例(即每个事件)生成一次;别的事件里拿到的运行号(哪怕宿主运行号相同)一律使调用抛出可捕获的豫言异常,不会误操作别的事件的运行。宿主里的运行号本身是不可猜测的随机 UUID。
:」
「编译内实例标记」乃(「引用类」于「字符串」)也。
「编译内实例标记」者「新引用」授以「字符串」于『』也。
「编译内取标记」乃化「有」而「字符串」也。
「编译内取标记」者会「无」而
虑「旧」者「读引用」授以「字符串」于「编译内实例标记」而
若「串相等」于「旧」于『』则(
虑「新」者
「获取子字符串」于「零」于「一三」于(「云工密码随机识别」于「元」)而
虑「无」者「写引用」授以「字符串」于「编译内实例标记」于「新」而
「新」
)
否则
「旧」
也。
「编译内封号」乃化「字符串」而「字符串」也。
「编译内封号」者会「宿主号」而
(「编译内取标记」于「元」)附『:』附「宿主号」
也。
「编译内拆号」乃化「字符串」而「字符串」也。
「编译内拆号」者会「号」而
虑「前缀」者(「编译内取标记」于「元」)附『:』而
若「串开头是它吗」于「前缀」于「号」则
「获取子字符串」于(「字节长度」于「前缀」)于(「字节长度」于「号」)于「号」
否则
「发生事故」授以「字符串」于『运行号不属于当前事件』
也。
「:
文言:调宿主之器,先释其柄,败则以异告;成则返 JSON 文。
汉语:在运行器上调用方法(参数是 JSON 数组文字),无论成败都先释放运行器句柄;宿主方法失败(含 Promise 拒绝)转成可捕获的豫言异常;成功返回结果 JSON 文字。
:」
「编译内调运行器」乃化「字符串」而化「字符串」而化「字符串」而「字符串」也。
「编译内调运行器」者会「名」而会「方法」而会「参数」而
虑「器」者「编译内取运行器」于「名」而
虑「果」者「云工调用方法安全」于「器」于「方法」于「参数」而
虑「无」者「云工释放句柄」于「器」而
若「非」于(「果」中「零」)则
「发生事故」授以「字符串」于(「编译内宿主失败文」于(「果」中「一」))
否则
(「果」中「一」)
也。
「编译内字符串结果」乃化「字符串」而「字符串」也。
「编译内字符串结果」者会「文」而
鉴(「癸象解析」于「文」)而
有(「癸象字符串」于「串」)则「串」
或有「其他」则
「发生事故」授以「字符串」于『编译运行:宿主结果不是字符串』
也。
「:
文言:启运;名、请求先验,成则返宿主所予之运行号。
汉语:先验编译器名与请求大小,再调宿主的 启动 方法(请求 JSON 文字原样传入,宿主再次校验路径、文件数与内容大小);返回宿主生成的运行号。
:」
「启动编译运行」乃化「字符串」而化「字符串」而「字符串」也。
「启动编译运行」者会「名」而会「请求」而
若「非」于(「编译内名合法吗」于「名」)则
「发生事故」授以「字符串」于『编译器名无效』
否则
若「大于」于(「字节长度」于「请求」)于「编译内请求上限」则
「发生事故」授以「字符串」于『编译请求超过 2 MiB』
否则
「编译内封号」于(「编译内字符串结果」
于(「编译内调运行器」于「名」于『启动』于(『[』附(「癸象表示」于(「癸象字符串」于「请求」))附『]』)))
也。
「:
文言:候下一事;宿主返对象,取其状态与事文。
汉语:调宿主的 读事件 方法(参数:运行号与等待毫秒),宿主返回 {状态,事件} 对象;本函数转成(状态,事件文字)。等待毫秒越界、运行号无效由本函数先抛异常。
:」
「读取编译运行事件」乃
化「字符串」而
化「字符串」而
化「整数」而
(「整数」合「字符串」)
也。
「读取编译运行事件」者会「名」而会「号」而会「毫秒」而
虑「无」者
若「编译内名合法吗」于「名」则「元」否则「发生事故」授以「有」
于『编译器名无效』
而
虑「无」者「编译内验运行号」于「号」而
若「或者」于(「小于」于「毫秒」于「一」)于(「大于」于「毫秒」于「编译内等待上限」)则
「发生事故」授以(「整数」合「字符串」)于『等待毫秒须在 1 至 60000』
否则
虑「结果」者
「癸象解析」于(「编译内调运行器」
于「名」
于『读事件』
于(『[』附(「癸象表示」于(「癸象字符串」于(「编译内拆号」于「号」)))附『,』附(「整数表示」于「毫秒」)
附『]』))
而
虑「状态」者
「癸象字段整数」于「结果」于『状态』于(「减」于「零」于「一」)
而
虑「事件」者「癸象字段字符串」于「结果」于『事件』于『』而
「状态」与「事件」
也。
「:
文言:取产物之原字节;宿主返其对象之柄,取字节后即释。
汉语:调宿主的 取产物 方法,宿主返回 Uint8Array 的句柄;读出字节后释放句柄。
:」
「读取编译产物」乃化「字符串」而化「字符串」而「字节串」也。
「读取编译产物」者会「名」而会「号」而
虑「无」者
若「编译内名合法吗」于「名」则「元」否则「发生事故」授以「有」
于『编译器名无效』
而
虑「无」者「编译内验运行号」于「号」而
虑「柄」者
「取云工句柄」于(「编译内调运行器」
于「名」于『取产物』
于(『[』附(「癸象表示」于(「癸象字符串」于(「编译内拆号」于「号」)))附『]』))
而
虑「字节」者「云工句柄取字节」于「柄」而
虑「无」者「云工释放句柄」于「柄」而
「字节」
也。
「读取编译产物Base64」乃化「字符串」而化「字符串」而「字符串」也。
「读取编译产物Base64」者会「名」而会「号」而
虑「无」者
若「编译内名合法吗」于「名」则「元」否则「发生事故」授以「有」
于『编译器名无效』
而
虑「无」者「编译内验运行号」于「号」而
「编译内字符串结果」于(「编译内调运行器」
于「名」
于『取产物Base64』
于(『[』附(「癸象表示」于(「癸象字符串」于(「编译内拆号」于「号」)))附『]』))
也。
「:
文言:终运;幂等,释宿主之资。
汉语:调宿主的 结束 方法;运行号未知时宿主也返回成功(幂等)。
:」
「结束编译运行」乃化「字符串」而化「字符串」而「有」也。
「结束编译运行」者会「名」而会「号」而
虑「无」者
若「编译内名合法吗」于「名」则「元」否则「发生事故」授以「有」
于『编译器名无效』
而
虑「无」者「编译内验运行号」于「号」而
虑「无」者
「编译内调运行器」
于「名」于『结束』
于(『[』附(「癸象表示」于(「癸象字符串」于(「编译内拆号」于「号」)))附『]』)
而
「元」
也。