Zero

Zero
Zero

11 octubre 2006

Prowl

El último trabajo desde Abril ha consistido en mejorar el compilador Prowl. El propósito inicial era mejorar la persistencia en la máquina virtual, si bien al querer compilar varios ejemplos me he dado cuenta de que el compilador estaba generando código incorrecto en situaciones muy comunes.

Por ejemplo, para la siguiente instrucción (un mensaje):


miVector.process( DisplayByConsoleProcessor );


debía generar:


SET DisplayByConsoleProcessor
MSG miVector process __acc


y estaba generando:


MSG miVector process DisplayByConsoleProcessor


O, peor todavía:


System.console.write( psRoot.Exe.A );


generaba:


MSG psRoot.Exe A
MSG System.console write __acc


cuando debía generar:


SET psRoot.Exe.A
MSG System.console write __acc


Ahora, sí, empieza el trabajo de pulido del soporte de persistencia en la máquina virtual.