program-in-chinese / overview

中文编程的历史、现状和展望。issue 中进行相关问题的讨论.
https://zhuanlan.zhihu.com/codeInChinese
GNU General Public License v3.0
386 stars 34 forks source link

简单易用的中文编程(脚本)语言原型 #33

Closed nobodxbodon closed 5 years ago

nobodxbodon commented 7 years ago

早先算是开了个头: 实践"两周自制脚本语言"一书

昨天也被 @qingseshaohua 提醒一个很重要的方向是让更多人能够容易用编程的方式解决自己的问题. 因此打算在3个月内试着做一个原型出来.

由于时间精力非常有限, 打算尽量把工作量减到最小. 有所为, 有所不为. 下面是一些初步设想.

nobodxbodon commented 7 years ago

@NER000

最初有这个想法的时候,是试用Python实现的,这是最初的版本。后来因为找工作的缘故,所以又学了Java并用其改写之,语言设计上也有一些变动。...最近的计划是准备用coffeescript重写一遍,然后发布到npm上去。

刚发现你已经发布了Python版, Java版, 和JS版. 代码量好像还不是很大, 学习一下, 有问题再请教 :)

wkgcass commented 7 years ago

@nobodxbodon LISP系语言代码量都不大的= =递归到底。。。

nobodxbodon commented 7 years ago

@wkgcass 嗯, 记得以前编译基础课用Scheme写Scheme子集的解释器, 开头被震惊到了, 好像没多少行就实现了最基本的功能. 不过好像其他功能上去之后还是会变大不少吧. 时间过了一个多月, 在考虑给这个帖子再定位一下...基于工作里很局限的需求而做难免一叶障目. 从头实现一个很基本的编程语言(不过多考虑中文特色, 但肯定是中文关键词)也许更加实际. 而且也可以练习中文代码.

nobodxbodon commented 6 years ago

如楼上所说, 打算从最最基本的语言开始, 不考虑演进, 只实现变量赋值、条件判断、函数调用, 和四则运算. 尽量用最简单的代码实现, 主要为演示和学习用. 名字暂取"圈"语言.

nobodxbodon commented 6 years ago

这个方向的进展如下: 尝试手写parser未果的'圈1' 编程语言试验之Antlr4+Java实现"圈2" 编程语言试验之Antlr4+JavaScript实现"圈4" 以及JS版的ZLOGO子集: 圈3: JavaScript实现ZLOGO子集: 前进+转向 JavaScript实现ZLOGO子集: 单层循环功能 下一步打算继续'圈3', 在添加语言特性的同时争取兼顾一些在线编程环境的功能.

nobodxbodon commented 6 years ago

今年内预计不会在此方向继续探索. 打算写一个索引页把这些帖子分类.

nobodxbodon commented 5 years ago

重拾《 两周自制脚本语言 》- 支持中文标识符 再次尝试. 下面几步:

nobodxbodon commented 5 years ago

调研IDE支持时发觉, 代码补全等等需要与语法分析结合. 另外, 调试器接口和与IDE的集成(Eclipsevscode)工程不小. 上面最后一项, 调用Java库, 可参看Latte语言实现以及https://tomassetti.me/generating-bytecode/.