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

吴烜2020
 吴烜2020
发布于 2020年09月10日
收藏 0

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

 

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

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

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

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

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

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

> print("ab")
ab 

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

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

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

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

 

代码统计

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

  • 测试
    • 木兰测试用例: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
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:木兰编程语言重现:不忘初衷,纠正偏差再出发
加载中

精彩评论

W
WindSpeed
你的初衷是什么?仅仅只是做一个克隆版的木兰编程语言吗?为什么重现?重现完了你要做什么
hongch_911
hongch_911
作者自己花时间做一个东西,即没强制让其他人花钱,花时间,为啥就有人看不惯,找各种理由喷昵?
关于有人提到”有什么意义”,这种人太以自我为中心了。意义对每个人是不一样的,这种人就是习惯了拿自己的所谓意义去评价,要求别人。
在动不动就否定其他人之前,首先需要想想自己比其他人做过什么更有意义的事情吗?
海参炒面
海参炒面
搞不懂,实在看不出有什么意义。
吉姆X
吉姆X
喷子? 如果你管发表不同意见叫喷子,那喷子就多的去了,开源不就是为了发能吸收各方意见来完美项目吗?然而你这做法完全相反,只要是有点不合心意就全删,只保留正面留言,怕被人说做什么开源
CharlieJohn
CharlieJohn
你发标的意见哪句话值得借鉴?哪句话值得吸收?不就是个盆子,还大谈开源精神,搞笑。

最新评论(26

开源中国首席CE0
开源中国首席CE0
即使退一万万步,作者也有通过学习项目增进自身技术的意义。他的做法有自己的意义就好,不需要有其他人想要的意义罢。关心技术而又不在这条线上的大概率不会留言关注,只有吾等闲人意士才会操碎了闲心瞎扯淡
becke
becke
既然是语言 就给大家讲讲语言的优势 劣势 还有计划的发展路线吧 我了解到的是可以部分使用中文编写代码 语法类似python 可以用来做后端应用 批处理应用
薛某某
薛某某
这次还有点不同,这次是吃起来也像。不论是烤,炒,煎,炸……
W
WindSpeed
这也正是我感到疑惑的地方,我觉得没有必要一定要原封不动的重现这个语言,你可以自主创新一下
高久峰-肥猪减肥
国产创新真简单
高久峰-肥猪减肥
gitee再推,没人用你努力意义不大
CharlieJohn
CharlieJohn
你发标的意见哪句话值得借鉴?哪句话值得吸收?不就是个盆子,还大谈开源精神,搞笑。
吴烜2020
吴烜2020
代码就在那里,有兴趣的自然可以 fork 后修改。做过中文化的该轻车熟路。
说过很多次了,重现木兰原始功能是本项目主旨,而木兰并不是中文语法。
hongch_911
hongch_911
作者自己花时间做一个东西,即没强制让其他人花钱,花时间,为啥就有人看不惯,找各种理由喷昵?
关于有人提到”有什么意义”,这种人太以自我为中心了。意义对每个人是不一样的,这种人就是习惯了拿自己的所谓意义去评价,要求别人。
在动不动就否定其他人之前,首先需要想想自己比其他人做过什么更有意义的事情吗?
返回顶部
顶部