注:项目目标见码云代码库
为方便使用 Python 的标准库与第三方库,支持了函数调用时指定形参名的方式,比如下面代码第一行打开文件的encoding="utf-8"
:
与之相关,定义函数时可以指定形参默认值,也一并添加。
这段代码是为了获取常用汉字的拆字数据。源数据包括了几万汉字的信息比如:
U+4FC7 俇 ⿰亻狂
U+4FC8 俈 ⿰亻告
U+4FC9 俉 ⿰亻吾
U+4FCA 俊 ⿰亻夋
首先写了个简单的常用字库,用以判断一个字是否属于常用的 2500 字(详见源码)。
上图的代码是过滤了源数据,只取出了常用字中,拆分出的部分也属于常用字的部分,并输出到 json 文件。比如:
"圣": {
"字型": "⿱",
"部分": [
"又",
"土"
]
},
"地": {
"字型": "⿰",
"部分": [
"土",
"也"
]
},
通过此段实例代码,验证了添加的函数功能,并发现了一些字符串转义处理上的问题并修复。
另外,将字典中无键的反馈信息中文化:
d = {1 : 'a', 3 : 'c'}
print(d[4])
反馈:
(..•˘_˘•..) 字典中不存在此键:4
见第2行:print(d[4])
下面是几个主要部分的代码行数统计,格式为:上周->本周。
测试
运行测试.py
,检验所有木兰测试代码片段:148 -> 151test语法树.py
,确保生成的语法树与原始版本一致。修复并添加:63 -> 67实现:2075 -> 2130
分析器/语法分析器.py
:886 -> 916分析器/语法树.py
,功用/调试辅助.py
,包括对 ast 库的中文封装:271 -> 284演示高亮.py
:98 -> 100环境.py
,加载木兰模块:88 -> 89功用/反馈信息.py
:43 -> 45分析器/词法分析器.py
:187中.py
,主程序:35