在支持Python的range之外,木兰还支持如下的等价语法。个人感觉这样的语法更直观易读一些:闭区间for数in0。。2{println(数)} 输出:012左闭右开区间:for数in0。。2{println(数)} 输出:01对应的带间隔取数: 这是本周重现的语法。for数in4。。1by2{println(数)} 输出:420 左闭右开区间:for数in0。。4by2{println(数)} 输出:02代码统计 下面是几个主要部分的代码行数统计,格式为:上周本周。测试木兰测试用例:9001068运行测试。py,检验所有木兰测试代码片段:143144未变test语法树。py,确保生成的语法树与原始版本一致:63实现:17201898分析器语法分析器。py:676792分析器词法分析器。py:123184未变分析器语法树。py,功用调试辅助。py,包括对ast库的中文封装:251演示高亮。py:98环境。py,加载木兰模块:87中。py,主程序:35 仅添加by语法并没有那么大代码量,主要是语法分析器中原本的字符串格式的语法规则比如下面:分析器母机。production(范围表达式:表达式点点小于表达式) 将各个语法因素提取成了枚举类型:uniqueclass语法(Enum):表达式expr范围表达式rangeexpr。。。 对应的语法规则改为了:分析器母机。production(语法。范围表达式。成分(语法。表达式,点点小于,语法。表达式)) 可读性的削弱还可接受,至少能减少笔误的机会。有用工具 开发时用了VSCode下的中文代码快速补全插件(文末为官方插件商店链接),支持各种编程语言,加强了针对中文的IDE补全功能,编写中文代码时可以省去不少功夫。