编译步骤/语法分析/整数小数解析。豫
yuyan · 103 行 · 4599 字节 · 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
寻观「标准库」之书。
「单字解析结果」立「元类型」也。
「整数解析」立化「整数」而「单字解析结果」也。
「小数解析」立化「小数」而化「字符串」合「字符串」而「单字解析结果」也。
「解析单个字符」乃化「字符串」而「整数」也。
「解析单个字符」者会「字符串」而
鉴「字符串」而
有『1』则「一」
或有『2』则「二」
或有『3』则「三」
或有『4』则「四」
或有『5』则「五」
或有『6』则「六」
或有『7』则「七」
或有『8』则「八」
或有『9』则「九」
或有『0』则「零」
或有『一』则「一」
或有『二』则「二」
或有『三』则「三」
或有『四』则「四」
或有『五』则「五」
或有『六』则「六」
或有『七』则「七」
或有『八』则「八」
或有『九』则「九」
或有『零』则「零」
或有『其他』则
「发生事故」于『无法解析单个字符』
也。
「转换单个字符」乃化「字符串」而「字符串」也。
「转换单个字符」者会「字」而
「整数表示」于(「解析单个字符」于「字」)
也。
「编译整数」乃化(「列」于「字符串」)而「整数」也。
「编译整数」者会「字符们」而
(「从左折叠」授以「字符串」授以「整数」)
于(会「当前字」而会「已有数」而「加」于(「乘」于(「已有数」)于「一零」)于(「解析单个字符」于(「当前字」)))
于「零」
于「字符们」
也。
「编译小数」乃化(「列」于「字符串」)而「小数」也。 「:返回的数必须小于一:」
「编译小数」者会「字符们」而
(「从右折叠」授以「字符串」授以「小数」)
于(会「当前字」而会「已有数」而
「小数操作」之「加」
于(「小数操作」之「乘」于(「已有数」)于「零点一」)
于(「小数操作」之「乘」于(「转换」之「整数转小数」于(「解析单个字符」于(「当前字」)))于「零点一」))
于
「零点零」于「字符们」
也。
「尝试解析字符串为数字」乃化「字符串」而「或可有」于(「单字解析结果」)也。
「尝试解析字符串为数字」者会「串」而
虑「字符们」者「获取字符」于「串」而
若(「等」于(「长度」于「字符们」)于「零」)
则
(「可无」)
否则
(
虑「通过发生检查」者
((「全部符合」授以「字符串」)
于(会「字」而(「是子字符串吗」于「字」于『0123456789.零一二三四五六七八九点』))
于「字符们」
)
而
若「通过发生检查」
则
(
虑「数字组成」者
(「元素分隔」授以「字符串」)
于(会「字」而「或者」于(「串相等」于「字」于『.』)于(「串相等」于「字」于『点』))
于「字符们」
而
若(「大于」于(「长度」于「数字组成」)于「二」)
则
(「可无」)
否则
(
鉴「数字组成」而
有(「列」【「单个数字」】)则
「可有」于((「整数解析」)于(「编译整数」于「单个数字」))
或有(「列」【「整数部分」,「小数部分」】)则
「可有」于((「小数解析」)
于(「小数操作」之「加」
于(「转换」之「整数转小数」于(「编译整数」于「整数部分」))
于((「编译小数」)于(「小数部分」)))
于(「串组合并」
于((「态射」)于「整数部分」于「转换单个字符」)
与(「串组合并」于((「态射」)于「小数部分」于「转换单个字符」))))
或有「罄」则「发生事故」
于『不可能,已经检查过输入字符串不为空,且数组长度小于二』
)
)
否则
「可无」
)
也。