简单的Java编译器的前端实现
最近写了个简单的Java编译器,其实做前端文本编辑,最后调用javac编译,完成Java编译器的基本功能。
首先,作为一个Java编译器,他应该具有的基本的功能包括:打开代码文本,编辑,保存,编译。
所以整体构建框架的思路就是:编辑java代码,保存代码,编译,处理出错信息。
编辑代码-----真正的代码编辑器编辑代码也就是一个高级点的文本编辑器,所以要实现一个文本编辑器的基本功能,这用一个类实现。同时,编辑代码一般都要做关键字高亮显示,所以这也用一个类实现。
根据这样的思路整个框架就出来了:

编辑代码区因为要关键字高亮,所以用JTextPane类可以实现。JTextArea类适合最普通的文本编辑的功能,但是在部分文本高亮方面比较难以实现。
具体实现:
新建功能:新建文本编辑前要确保已编辑的代码是否要保存,然后清空原来文本文字就可以了。