木兰编程语言重现:不忘初衷,纠正偏差再出发
项目在近日荣幸获得码云推荐,定将再接再厉,也望各位鼎力相助。
上周暂缓了一下,确认了摸索出的测试用例是否有误。用木兰编程语言的原始可执行文件 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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Screen To Gif 2.27 发布,动画录制软件
Screen to Gif 是一款方便好用的小软件,可以用来快速录制屏幕上的指定区域,将其直接保存为 GIF 动画文件。 目前,Screen To Gif 2.27 已完成发布。具体更新内容如下: New 重新设计了较新的recorder UI 添加了对多比例屏幕集的更好支持 新的recorderUI 表现更好,选择屏幕区域时也比较轻松 显示记录时间(将光标悬停在顶部以查看捕获的帧计数),并显示用于手动捕获的帧的计数器 添加了一个捕获模式选项,仅在捕获区域内发生某些更改时捕获(可以使用 PerSecond、PerMinute 和 PerHour 模式激活它) 新的 obfuscation methods:使框架的某些部分变暗和变亮 保存项目时,文件夹路径附近的按钮现在允许用户默认选择一个文件夹。要选择文件夹和文件名,请在单击该按钮的同时按 Shift 添加了以 Zip 格式下载更新的选项,以手动替换可执行文件(适用于无法执行安装程序的用户) 将 Gifski 更新为 1.2.0 版 更新了匈牙利语、乌克兰语和意大利语的翻译 ...... Bug 修复 如果在更新下载完成之前打开了更新窗...
- 下一篇
CKEditor 4.15 发布:新增编辑器占位符插件和历史颜色
CKEditor 4.15 已发布,这个重要的版本对文本调色板进行了改进,用户可以更有效地处理文本和背景颜色。另外,还增加了新的编辑器占位符(Editor Placeholder)插件。 历史颜色(Color History) 此版本为文本和背景颜色编辑工具引入了“历史颜色”功能,在文档中使用过的颜色将直接存储在两个“颜色按钮”的调色板中,并且可以轻松地重复使用。这些使用过的颜色被放在预定义调色板的下方,以避免混淆,使用者无需再一次次小心翼翼地挑选用过的颜色。 上面只是此功能改进的一部分,更加重要的变化是在编辑器初始化时,CKEditor 4 会收集文档中已经存在的颜色,并将其添加到“颜色按钮”调色板中。颜色的顺序根据颜色出现的次数决定(出现次数最多的颜色将显示为第一个),之后再根据颜色出现的顺序来决定。 详情查看文档及运行示例。 编辑器占位符(Editor Placeholder) 此功能会在 CKEditor 4 的编辑区域中使用一个预定义的占位符文本,用于提供描述输入内容预期值的提示信息,该提示会在输入内容为空时显示,并会在编辑器获得焦点时消失。 详情查看文档及运行示例。 与 A...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合Redis,开启缓存,提高访问速度