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

上一篇所提到的只是使用中文写Java,而不能算作一门新的语言。作为一门中文语言,需要语言提供的关键字等语法结构都使用中文。

最简单的只需要把Java关键字替换为中文关键字即可。

现有的Java库是否需要翻译一遍呢?比如String, ArrayList, Map等类。没有必要,因为这些只能算是使用语

编写的代码,而非语言本身。

如何实现呢?

  1. 把所有关键字使用中文写,语法格式不变。在编译之前,使用脚本把所有的关键字替换一遍。这样做的缺点是源码文件的改变是显式的,再打开时,看到的就又是Java的关键字。
  2. 开发Intellij IDEA的插件,编译之前把中文关键字替换成Java关键字,打开之前把Java关键字替换回作为关键字。这种做法的缺点是每一个IDE都要开发一种插件。
  3. 给Java编译器javac加壳,读取源码文件之后,在内存中替换关键字,而不改变源文件。后续调用javac时传入的是替换之后的内存中的文件。如此可以满足需求。

这样实现的“中文编程语言”,可以随着Java的升级,即时升级。Java实现了什么新的技术,即可以即时拥有。工作量小,可以说是一次性的工作量,“收益颇大”。

有兴趣又有闲的可以试一下。

??

原文地址:https://www.cnblogs.com/wjcdx/p/9588926.html

时间: 2024-08-30 01:00:57

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

Lucene:基于Java的全文检索引擎简介 (zhuan)

http://www.chedong.com/tech/lucene.html ********************************************** Lucene是一个基于Java的全文索引工具包. 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 全文检索的实现:Luene全文索引和数据库索引的比较 中文切分词机制简介:基于词库和自动切分词算法的比较 具体的安装和使用简介:系统结构介绍和演示 Hacking Lucene:简化的查询分析器,删除的

Lucene:基于Java的全文检索引擎简介

Lucene是一个基于Java的全文索引工具包. 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 全文检索的实现:Luene全文索引和数据库索引的比较 中文切分词机制简介:基于词库和自动切分词算法的比较 具体的安装和使用简介:系统结构介绍和演示 Hacking Lucene:简化的查询分析器,删除的实现,定制的排序,应用接口的扩展 从Lucene我们还可以学到什么 另外,如果是在选择全文引擎,现在也许是试试 Sphinx的时候了:相比Lucene速度更快, 有中文分词的

基于Java的Http服务器几种模式演进

首先抛出问题: 程序1---错误版本 import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class HttpSimpleServer { public void startServer() throws IOException { ServerSocket s

基于Java NIO的多人在线聊天工具源码实现(登录,单聊,群聊)

近来在学习Java NIO网络开发知识,写了一个基于Java NIO的多人在线聊天工具练练手.源码公开在Coding上: https://coding.net/u/hust_wsh/p/MyChat/git ,开发环境是Ubuntu14.04+Eclipse Mars+JDK1.8. 要想编写一个基于Java NIO的多人在线聊天工具,我总结需要以下几方面的地址:客户端服务器模型,Java NIO中的Selector,SocketChannel,ByteBuffer,Collections以及序

基于Java实现简单Http服务器(转)

基于Java实现简单Http服务器(转) 本文将详细介绍如何基于java语言实现一个简单的Http服务器,文中将主要介绍三个方面的内容:1)Http协议的基本知识.2)java.net.Socket类.3)java.net.ServerSocket类,读完本文后你可以把这个服务器用多线程的技术重新编写一个更好的服务器.           由于Web服务器使用Http协议通信的因此也把它叫做Http服务器,Http使用可靠的TCP连接来工作,它是面向连接的通信方式,这意味着客户端和服务器每次通信

JAX-WS 学习一:基于java的最简单的WebService服务

JAVA 1.6 之后,自带的JAX-WS API,这使得我们可以很方便的开发一个基于Java的WebService服务. 基于JAVA的WebService 服务 1.创建服务端WebService服务接口 package com.st.services; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; import javax.jw

基于Java的开源CMS系统选择(转)

CMS概述 对于网站CMS系统而言,基于PHP的是主流,如Drupal/Joomla在各个主流虚拟机提供商上都是标准配置,也被广泛使用. 但如果你拥有Java团队,或者项目目标是想建立一个企业网使用的内容管理系统,那么选择一个基于Java的CMS系统就是合适的. 基于PHP的CMS系统和Java CMS,有一个显著的区别, 基于Java的CMS通常会把内容架构在JCR规范上,例如Jackrabbit,ModeShape, 而PHP的CMS直接架构在RDBMS规范上,主要是MySQL上.总体上Ja

基于java开源百度网盘搜索引擎

在做一个基于java的开源百度网盘搜索引擎,已经基本完成了 www.java120.com 欢迎大家前往观赏,并多多提出表扬意见....

基于java的网络爬虫框架(实现京东数据的爬取,并将插入数据库)

原文地址http://blog.csdn.net/qy20115549/article/details/52203722 本文为原创博客,仅供技术学习使用.未经允许,禁止将其复制下来上传到百度文库等平台. 目录 网络爬虫框架 网络爬虫的逻辑顺序 网络爬虫实例教学 model main util parse db 再看main方法 爬虫效果展示 网络爬虫框架 写网络爬虫,一个要有一个逻辑顺序.本文主要讲解我自己经常使用的一个顺序,并且本人经常使用这个框架来写一些简单的爬虫,复杂的爬虫,也是在这个基