草蟒(Python 中文版)3.10 公测版发布

草蟒(Python中文版)3.10公测版已于近日上线,源代码库也已在码云公开,欢迎大家试用并反馈,待收集到一定数量的反馈并做适当修改和补充后就会推出正式版。

关注草蟒的朋友们可能知道之前有一个草蟒3.8.0,此版本可以说是编程语言中文化的试水之作,已经停止更新。草蟒3.10吸取了前作的经验教训,解决了一些基本汉化问题,是两年来的探索努力和社区支持的成果,笔者打算提供长期维护和更新。

套路 问候():
    打印(, '你吃了吗?')
    
问候('小美')    # 结果:小美 你吃了吗?
>>> 导入 日时
>>> 日时.〇日期.今日().转字符串()
'周一 2022 年 3 月 21 日 00:00:00'
# 画一个五角星

 海龟 导入 *

颜色('黄色', '红色')

开始填充()
 i  范围(5): 
    前进(200)
    右转(144)
结束填充()

完成()

关键字汉化简单说明

相比于之前的版本,Python 3.10 的关键字汉化要更简单。Python 官网提供了一个关于如何更改语法的检查清单。我们只需增加中文关键字,因此实际上只涉及一个关键步骤,如下所示(假设使用Windows 10平台,具体修改请参见源代码):

  • 修改 Grammar/python.gramTools/peg_generator/pegen/c_generator.py,然后在cmd中运行 build.bat --regen,以重新生成Parser/parser.c

Lib/keyword.py 的重新生成可以在编译前或编译后进行,只需修改 Tools/peg_generator/pegen/keywordgen.py,具体生成命令请参见 keyword.py 文件最开始的说明。

特殊汉字符号(〇、々、匚、爻)说明

英语编程语言中通常利用字母的大小写来区分不同类型的标识符,另外还通过加后缀(例如 s)来区分名词性概念的单复数(即区分个体与集合)。作为一门翻译过来的编程语言,草蟒借用了四个汉字来从形式和视觉上表现上述现象。

  • :类名以 开头,对应英语中类名以大写字母开头;建议读作 ou。

  • :异常(包括警告)名以 (视为两个 ×)开头,建议读作 cha。各种异常也是类,但如果同样以 〇 开头,那么在编辑器中输入全局类名的第一个字 〇 时,将跳出大量异常类(有 60 多个),非常影响编程体验,故对异常命名另作规定。

  • :全局常量名以 开头,对应英语中的全大写常量名;建议读作 chang。

  • :在需要区分个体与集合的情况下,在个体名词后加 表示集合对象(例如列表、字典等),对应英语中的后缀 s;建议读作 es。

使用这些汉字符号之后,标识符的汉化更加简便,不仅能顺利地继承原语言的优势,而且以极小的代价丰富了中文编程语言的语汇。为了支持这些汉字符号的输入,我们需要对输入法进行自定义设置。另外,以上规定皆为一般原则,某些情况下不排除变通处理。

扫描二维码关注公众号,回复: 13708033 查看本文章

以上规则不仅适用于python的汉化,也能很自然地应用于其他编程语言的汉化,示例参见笔者对go语言导出标识符的处理(如何汉化go语言)。

中文编程语言发展之路

何谓中文编程?笔者认为,主要使用中文(包括中文关键字或保留字)开发计算机程序就是中文编程。相应地,中文编程语言就是支持主要使用中文进行程序开发的计算机编程语言。

近年来,关于中文编程的讨论和实践很是热闹,B站和头条上不时能看到新推出的中文编程语言或环境。由此可见,民间对中文编程语言的呼声很高。然而,令人失望的是,大厂和学界对此需求直接无视。

要发展中文编程语言,主要有两条路:自研和汉化。自研语言的门槛非常高,需要非凡的能力、精力和/或财力,就算大厂也很难确保成功,普通人更不必考虑。汉化则不然,无论程序员还是编程爱好者,只要懂一点英语就能参与。

在等候自研中文编程语言佳音的同时,有志之士不妨投入汉化事业?

猜你喜欢

转载自www.oschina.net/news/187737