问点关于编译器的东西,请各位大哥帮帮忙!
最近忽然想做个JAVA编译器,于是就在家天天抱着一本编译原理看,结果越看越是心惊,似乎懂了许多,似乎又什么都不懂,所以就想问几个问题。
1.如果是想从头到尾做出来一个JAVA编译器,包括前端和后端,就相当于是自己做了一个JAVA虚拟机啊?
2.像JCreator这样的开发工具是不是只是做了个编译器的前台,方便代码的编写和提供一些有用的功能!而并没有真正的去实现它的前台和后台。而是调用了本地安装的JDK里的javac编译器和java解释器?若是那么它是怎么调用javac编译器的?我想是想做出一个这样的编译器,就是不知道它是如何去调用的?
3.像JAVA里面有那么多的类,每个类里又有那么多的字段和方法,应该用什么办法来进行判断用户输入的类型是属于API里的类还是属于用户自己定义的类?是一个一个找出来(这个不太现实吧,工作量巨大),还是API里面有专门这样的类?比如说JCreator里它的错误提示是做工具的人自己做的,还是调用了javac的错误报告进行相应的提示的?
4.就是关于关键字变色的问题应该怎么实现?JTextArea里面好像没有哪个方法是给局部某个字或词变色吧,只能设置背景色和前景色。
5.Eclipse是用JAVA编写的吧,记得老师曾这么说过。那我从哪里下它的源代码呢?
本来是想着做个完整的编译器出来,现在看来似乎不太现实,所以就做个简单点的前台吧,其它的等以后随学习的深入再做说。。。