-como que para que lenguaje el nombre lo dice todo JavaCompiler 
-base de datos dinamia eso no tiene sentido mejor sacas toda la información deferente de las clases con reflexion nuca tengas varias fuentes de datos para una misma cosa
-pensar en el coloreo y y en el autocompletado es demasiado
-tienes que hacerlo con pequeñas iteraciones te sugiero que primero se pueda ingresar un texto median te un gui que logre compilarlo y en caso erro neo que logre diagnosticar el error tener en cuenta que para hacer esa simple funcionalidad tendrias que hacer un monton de clases con una uncia responsabilidad bien definida si no vas a poder entender y se te va a hacer una mazamorra tu codigo

-base de datos dinamia eso no tiene sentido mejor sacas toda la información deferente de las clases con reflexion nuca tengas varias fuentes de datos para una misma cosa
-pensar en el coloreo y y en el autocompletado es demasiado
-tienes que hacerlo con pequeñas iteraciones te sugiero que primero se pueda ingresar un texto median te un gui que logre compilarlo y en caso erro neo que logre diagnosticar el error tener en cuenta que para hacer esa simple funcionalidad tendrias que hacer un monton de clases con una uncia responsabilidad bien definida si no vas a poder entender y se te va a hacer una mazamorra tu codigo