开心一下-实现一个基于Java的中文编程语言2

 
上一篇所提到的只是使用中文写Java,而不能算作一门新的语言。作为一门中文语言,需要语言提供的关键字等语法结构都使用中文。
 
最简单的只需要把Java关键字替换为中文关键字即可。
 
现有的Java库是否需要翻译一遍呢?比如String, ArrayList, Map等类。没有必要,因为这些只能算是使用语
编写的代码,而非语言本身。
 
如何实现呢?
  1. 把所有关键字使用中文写,语法格式不变。在编译之前,使用脚本把所有的关键字替换一遍。这样做的缺点是源码文件的改变是显式的,再打开时,看到的就又是Java的关键字。
  2. 开发Intellij IDEA的插件,编译之前把中文关键字替换成Java关键字,打开之前把Java关键字替换回作为关键字。这种做法的缺点是每一个IDE都要开发一种插件。
  3. 给Java编译器javac加壳,读取源码文件之后,在内存中替换关键字,而不改变源文件。后续调用javac时传入的是替换之后的内存中的文件。如此可以满足需求。
 
这样实现的“中文编程语言”,可以随着Java的升级,即时升级。Java实现了什么新的技术,即可以即时拥有。工作量小,可以说是一次性的工作量,“收益颇大”。
 
有兴趣又有闲的可以试一下。
 
posted @ 2018-09-04 22:25  wjcdx  阅读(632)  评论(1编辑  收藏  举报