2018-11-10 专栏全年主题合辑-中文编程语言开发尝试
注: 本文仅对个人尝试作一小结, 专栏中其他作者的尝试还望各自总结
对自研中文编程语言的尝试也许始于2015年对CoffeeScript的部分关键词汉化和Java实现的汇编语言编译器的开发. 2017年10月那场请求C#提供汉化版的讨论也给了更多的动力. 之后对开源非英文关键词编程语言进行了一些调研, 尤其对日语编程语言"抚子"进行了较深入的学习:
期间认识到国人创造中文编程语言的优势, 并整理了对中文语法的编程语言的质疑与回应. 之后的实验编程语言以"圈"命名, 第一个尝试是编程语言试验之Antlr4+Java实现"圈2". 接下来是对中文编程语言之Z语言初尝试: ZLOGO 4, 此文后的数十回合回复应该是专栏建立之后第一次也是仅有的一次在专栏内进行的公开热烈讨论. 在此讨论的激励下, 进行了中英文代码对比之ZLOGO 4 & LOGO, 并开始了基于JavaScript并可以在线运行的编程语言开发--"圈3", 它也是个人最接近实用的一个语言工具:
- 作为原型的编程语言试验之Antlr4+JavaScript实现"圈4"
- JavaScript实现ZLOGO子集: 前进+转向
- JavaScript实现ZLOGO子集: 单层循环功能
- JavaScript实现ZLOGO子集: 测试用例
- JavaScript实现ZLOGO: 用语法树实现多层循环
- 相关的为新语言编写Visual Studio Code语法高亮插件
虽然LOGO是个潜在的编程启蒙工具, 但效果毕竟不如现今的Scratch等等开发环境. 结合之前对中文语法的编程语言和相应IDE功能特色的讨论起草了通用型的中文编程语言探讨之一: 高考, 并进行了一个更实用编程语言原型的尝试--"圈5":
- Antlr4的分析错误处理
- Antlr4实现数学四则运算
- Antlr4添加中文变量赋求值,括号,各种问题
- Antlr4: 修改语法规则更接近普通BNF格式
- Antlr4实现简单语言之整数比较表达式
- Antlr4实现简单语言之条件语句
也对其他的编程语言开发方法作了尝试:
期间发现AppleScript类自然语言与非英语语法设计早有对日语语法的支持. 在2018年3月意识到了中文编程已经被大量用于日常生活, 也更倾向于基于实际用途开发特定领域的中文语法编程语言. 而在用途明晰之前(两周前的初步尝试将传统学科的内容程序/数据化也许是个好方向, 希望能够早日开始), 暂不进行更多这个方向的尝试. 2018年4月之后回归对中文命名的关注和相关实践.