Tengo un compilador que compila un bytecode no documentado para una máquina virtual no documentada. Me gustaría poder compilar en la misma máquina virtual, pero no estoy seguro de cómo hacerlo. ¿Cómo aprendo a hacer esto? ¿Alguien ha publicado un registro o revista de ellos haciendo lo mismo?¿Cómo realizo la ingeniería inversa de un compilador?
EDIT: Me olvidé de mencionar que este es el RobotC 3.0 compiler para LEGO Mindstorms. Antes de que alguien sugiera algo más, sé todo sobre nXc y proyectos similares, y no son una opción ya que estoy ayudando a un equipo de robótica de FIRST FTC, que solo puede usar RobotC o LabView.
En cuanto a aquellos de ustedes que sugirieron que apunte al lenguaje del compilador, todavía no lo hago porque espero que ciertas características del hardware que no están expuestas por el compilador sean expuestas por el firmware , y porque quiero hacer más administración de memoria personalizada que la permitida por RobotC.
Un compilador es un programa más y puede ser depurado como tal. – karlphillip
Esto podría llevar meses. ¿Qué tal si tu compilador apunta al idioma de entrada del compilador que ya tienes? –