木兰编程语言0。0。14。7功能覆盖初版用户手册
木兰编程语言 在 2020 年度 OSC 中国开源项目评选 中已获得 26 票,请投票支持!(请戳文末链接)
年初对原始木兰可执行文件 ulang-0.2.2.exe 作了些功能上的摸索尝试,将基本功能写在初版用户手册。开展重现项目之后,一直没重走一遍手册中的例程。上周终于完成了这个综合各部分功能的"小测验",大部分例程在上一版本就能正确运行,余下的小部分在这个版本中也通过了。
【安装:pip install ulang,用法与例程请见 PyPI。源码位于开源中国。 注意:必需 python 3.7,源码文件需 UTF-8 编码】此版本重现功能字符串转义
比较特别的是反斜杠(木兰交互环境下效果):> "c\"+"name" c ame
在 Python 中反斜杠如果未配对,会报语法错误:>>> print("") File "", line 1 print("") ^ SyntaxError: EOL while scanning string literal >>> print("\") File "", line 1 print("\") ^ SyntaxError: EOL while scanning string literal
配对后 Python 的效果:>>> print("") >>> print("\")
比照木兰中反斜杠转义效果:> println("") > println("") > println("\") > println("\") > println("\") > println("\")
实现细节可见源码,个人感觉初用有些别扭,这种使用场景应该不多。
另外引号与换行转义无需多言:> "doesn"t" doesn"t > ""吃了么?"" "吃了么?" > "第一行 第二行" 第一行 第二行 函数参数指定类型> type Person { >> func $Person(name) { >> $name = name >> } >> } > func hello(p : Person) { >> println("hi " + p.name) >> } > hello(Person("木兰")) hi 木兰 当前路径下 Python 模块导入
比如当前路径下有 larger.py:def larger(a, b): if a > b: print(a) else: print(b)
木兰交互环境下:> using larger > larger.larger(5,6) 6 内置 enumerate 函数
可以更方便地定义枚举了:> for i, v in enumerate(["小", "中", "大"]) { println(i, v) } 0 小 1 中 2 大求余运算> 11%3 2 其他Gitee Go 流水线
惊喜发现 Gitee Go 开通后获赠了 1000 分钟构建时间,而且非常幸运,构建环境的 Python 版本正好支持本项目需要的 3.7。在新手模板基础上作了一点修改,较顺利地添加了一个费时少又较关键的 unittest 测试集(确认语法树生成正确),挂件看起来不错:
触发后好像需要一点时间等待分配构建资源,感觉等待挺短,也许是尚未有很多用户设置了流水线?期间只发现了一个日志中的中文显示问题,已提交报告给官方,期待早日解决~webpy 尚无法使用
由于 web.py 的例程需要调用 globals():web.application(urls, globals())
而尚未找到 globals() 在木兰中的对应方法,因而暂时无法使用。希望找到一个合用、轻量级的网络服务框架,欢迎建议。更多报错信息中文化> using 不存在 没找到模块:‘不存在’,见第1行
附:代码量统计
主要部分的代码行数统计,格式为:上次->现在。木兰代码量 2920 -> 2965编辑器,实现与测试都是木兰代码:432 (在为分为前后端实现调研网络服务框架)木兰测试用例,包括部分实用小程序(如井字棋):2488 -> 2533
Python 代码量(木兰实现与测试框架):2574 -> 2594分析器/语法分析器.py:1002 -> 1008分析器/词法分析器.py:201 -> 204测试/运行所有.py,检验所有木兰测试代码片段:191 -> 192环境.py,定义全局方法:162 -> 171未变分析器/语法树.py:202交互.py,交互环境(REPL):138分析器/语法成分.py,从语法分析器中提取出来的枚举常量:81中.py,主程序:74功用/反馈信息.py:65功用/调试辅助.py,:57setup.py, 34分析器/错误.py:17测试/unittest/语法树.py,确保生成的语法树与原始版本一致:67测试/unittest/交互.py,交互环境相关测试:28
新型铸造废旧砂再生成套设备的研发与应用通过科技成果评价2021年9月17日,中国铸造协会在重庆市主持召开了由重庆长江造型材料(集团)有限公司完成的高效节能新型铸造废旧砂再生成套设备的研发与应用科技项目评价会。会议邀请了中国机械工业联合
日立建机与客户签署矿山战略合作协议在矿山工程机械领域,日立建机与经销商的长期携手努力,赢得了全国客户的信赖,并持续推动着行业的健康发展。日前,日立建机(上海)有限公司(以下简称HCS)再次促成厂家经销商客户的三方战
奇瑞汽车的颜值巅峰来了,瑞虎7PLUS,3天后开始预售今天,奇瑞汽车官方发布了瑞虎7PLUS的预售开启时间,3天后也就是9月16日开启预售,大家关心的价格配置将揭晓。个人认为,瑞虎7PLUS的颜值堪称奇瑞汽车的颜值巅峰了,前脸由夸张型
微型电车又来一款,奇(瑞)鲁汽车,开启预售,宏光nini等我今天由奇瑞汽车和山东齐河县政府合作的奇鲁新能源的第一款微型电动汽车EC1开始预售。新车共有3款车型,预售价格由3。28万元至4。38万元。续航里程为125公里和200公里两款。12
秦创原秦川机床集团研究院宝鸡分院揭牌8月10日,宝鸡市委市政府在西咸新区举行秦创原(宝鸡)创新促进中心项目合作签约仪式。陕西省副省长程福波,宝鸡市委书记惠进才,中国工程院院士专家,省科技厅省工信厅省国资委主要领导,西
兰石重装承制国能榆林化工项目核心设备近日,重装公司承接的国家能源集团神华榆林能源化工有限公司5万吨年聚乙醇酸项目6台反应釜14台塔器已经全面投料生产。为保证生产顺利进行,重装公司成立专项组重点跟进各项进度。产品投产前
白鹤滩柔直换流变压器首台产品试验成功8月3日,西电西变承接的白鹤滩江苏800kV特高压直流输电工程受端虞城站首台柔直换流变压器研制成功,一次性通过全部型式试验。首台产品在国网公司国网电科院武汉南瑞江苏省公司武高所等多
沙钢两项成果获冶金科学技术奖一等奖8月19日,2021年中国钢铁工业协会中国金属学会冶金科学技术奖评审结果揭晓,沙钢集团有限公司主导的高效薄带铸轧稳定化生产关键技术创新及应用沙钢集团淮钢特钢股份有限公司参与的钢轧过
航天云网与香港新华集团在京举行战略签约仪式近日,航天云网公司与香港新华集团战略合作签约仪式在北京举行。航天云网公司党委书记董事长於亮,副总经理汤滔,全国政协常委粤港澳大湾区企业家联盟主席环渤海企业家联盟主席香港新华集团主席
星途凌云对比星越L,你会选择谁?现在星途TXL的2。0T改名为星途凌云开始预订,官方也公布了详细的配置,咱再来看看。星途凌云先来吐槽一下,奇瑞高端品牌,即将上市的2。0T的星睿版本售价15。9万元,现款在售的1。
索尼A7M4ampampamp双十一携手到来,业余玩家摄影好物推荐开始写这篇推荐文章的时间是10月11日,距离双十一还有一个月在十一长假里就get到了SONY即将发布全画幅入门级微单A7M4的消息,一个刚刚使用A7M3半年多并且准备首发购入A7M