木兰编程语言重现:不忘初衷,纠正偏差再出发

栏目: 软件资讯 · 发布时间: 5年前

内容简介:项目在近日荣幸获得码云推荐,定将再接再厉,也望各位鼎力相助。 上周暂缓了一下,确认了摸索出的测试用例是否有误。用木兰编程语言的原始可执行文件 ulang.0.2.2.exe 作基准,用它跑了一遍积累至今的测试用例。 ...

项目在近日荣幸获得码云推荐,定将再接再厉,也望各位鼎力相助。

木兰编程语言重现:不忘初衷,纠正偏差再出发

 

上周暂缓了一下,确认了摸索出的测试用例是否有误。用木兰编程语言的原始可执行文件 ulang.0.2.2.exe 作基准,用它跑了一遍积累至今的测试用例。

果然发现一处疏漏。木兰原始效果如下:

>  print(["a", "b"])
[a, b] 

看出端倪吗?同样例程 Python 效果如下,输出带引号:

>>> print(["a", "b"])
['a', 'b'] 

如果是 print 字符串,两者的输出都不带引号;

> print("ab")
ab 

这个细节功能的用意,也许是为了与字符串打印输出效果保持一致。不仅是列表,其他容器如字典、集合、多项(tuple)等也是如此。原设计者对用户体验的揣摩可见一斑。

修复此测试后,所有测试用例在原始可执行文件上通过,算是一个小里程碑。

另外,忍不住搞定了一个反馈信息的显示问题。如果源码中带中文字符,这个箭头就指不准出错位置。开发调试过程中给自己带来不大不小的麻烦:

木兰编程语言重现:不忘初衷,纠正偏差再出发

办法就是直接在源码的出错位置前插入一个✋。如有更合适的标志请建议,比如某个不常用但形象的中文字符?

木兰编程语言重现:不忘初衷,纠正偏差再出发

 

代码统计

下面是几个主要部分的代码行数统计,格式为:上次->现在。

  • 测试
    • 木兰测试用例:1714 -> 1919 主要是英文版测试用例的添加
    • 测试/运行所有.py,检验所有木兰测试代码片段:156 -> 180
    • 未变
      • test语法树.py,确保生成的语法树与原始版本一致:67
  • Python 总代码量(包括测试部分):2200 -> 2237
    • 分析器/语法分析器.py:910 -> 913
    • 环境.py,加载木兰模块:124 -> 137
    • 分析器/语法成分.py,从语法分析器中提取出来的枚举常量:77 -> 78
    • 分析器/错误.py:18 -> 17
    • 未变
      • 分析器/词法分析器.py:190
      • 分析器/语法树.py:178
      • 演示高亮.py:100
      • 功用/反馈信息.py:49
      • 中.py,主程序:36

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据库系统概念

数据库系统概念

(美)Abraham Silberschatz、(美)Henry F.Korth、(美)S.Sudarshan / 杨冬青、李红燕、唐世渭 / 机械工业出版社 / 2012-3 / 99.00元

【编辑推荐】 数据库领域的殿堂级作品 夯实数据库理论基础,增强数据库技术内功的必备之选 对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用! 【内容简介】 本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学......一起来看看 《数据库系统概念》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具